/* <<nobr>> suppresses SugarCube's default line-break-to-<br> conversion —
without it, every one of the ndef-guard lines below (which render no
visible output) still emits a <br>, stacking up as a large empty gap
above the actual sidebar content. */
<<nobr>>
/* Defensive ndef guards — StoryInit only runs on a brand-new game, not on
SugarCube session/autosave restore. Guard per-property so partial old
objects still get new fields. See ARCHITECTURE.md §3. */
<<if ndef $player>><<set $player to {}>><</if>>
<<if ndef $player.name>><<set $player.name to "Daisy">><</if>>
<<if ndef $player.money>><<set $player.money to 200>><</if>>
<<if ndef $player.corruption>><<set $player.corruption to 0>><</if>>
<<if ndef $player.loveJames>><<set $player.loveJames to 50>><</if>>
<<if ndef $player.pastSingle>><<set $player.pastSingle to false>><</if>>
<<if ndef $player.corr20Seen>><<set $player.corr20Seen to false>><</if>>
<<if ndef $james>><<set $james to {}>><</if>>
<<if ndef $james.awareness>><<set $james.awareness to 0>><</if>>
<<if ndef $james.acceptance>><<set $james.acceptance to 0>><</if>>
<<if ndef $james.openness>><<set $james.openness to 0>><</if>>
<<if ndef $quests>><<set $quests to {}>><</if>>
<<if ndef $quests.cafeJob>><<set $quests.cafeJob to false>><</if>>
<<if ndef $quests.max>><<set $quests.max to false>><</if>>
<<if ndef $quests.ekon>><<set $quests.ekon to false>><</if>>
<<if ndef $quests.office>><<set $quests.office to false>><</if>>
<<if ndef $quests.david>><<set $quests.david to false>><</if>>
<<if ndef $quests.photoshoot>><<set $quests.photoshoot to false>><</if>>
<<if ndef $quests.peter>><<set $quests.peter to false>><</if>>
<<if ndef $ekon>><<set $ekon to {}>><</if>>
<<if ndef $ekon.stage>><<set $ekon.stage to 0>><</if>>
<<if ndef $ekon.agent>><<set $ekon.agent to false>><</if>>
<<if ndef $ekon.debt>><<set $ekon.debt to 0>><</if>>
<<if ndef $ekon.weeklyAmount>><<set $ekon.weeklyAmount to 500>><</if>>
<<if ndef $ekon.paidTotal>><<set $ekon.paidTotal to 0>><</if>>
<<if ndef $ekon.ambushDay>><<set $ekon.ambushDay to 0>><</if>>
<<if ndef $ekon.summonSent>><<set $ekon.summonSent to false>><</if>>
<<if ndef $ekon.summonRead>><<set $ekon.summonRead to false>><</if>>
<<if ndef $max>><<set $max to {}>><</if>>
<<if ndef $max.aaronIntrusion>><<set $max.aaronIntrusion to false>><</if>>
<<if ndef $max.h2d11Done>><<set $max.h2d11Done to false>><</if>>
<<if ndef $max.peResearchPending>><<set $max.peResearchPending to false>><</if>>
<<if ndef $max.peResearchDone>><<set $max.peResearchDone to false>><</if>>
<<if ndef $max.corruption>><<set $max.corruption to 0>><</if>>
<<if $max.corruption lt 0>><<set $max.corruption to 0>><</if>>
<<if $max.corruption gt setup.MAX_CORRUPTION_CAP>><<set $max.corruption to setup.MAX_CORRUPTION_CAP>><</if>>
<<if ndef $max.aaronFriendVideoDone>><<set $max.aaronFriendVideoDone to false>><</if>>
<<if ndef $max.lenaClubVideoDone>><<set $max.lenaClubVideoDone to false>><</if>>
<<if ndef $max.lenaClubChoice>><<set $max.lenaClubChoice to "">><</if>>
<<if ndef $max.momBathroomSpyDone>><<set $max.momBathroomSpyDone to false>><</if>>
<<if ndef $max.momSpyChoice>><<set $max.momSpyChoice to "">><</if>>
<<if ndef $max.momBlindfoldBjDone>><<set $max.momBlindfoldBjDone to false>><</if>>
<<if ndef $office>><<set $office to {}>><</if>>
<<if ndef $office.stage>><<set $office.stage to 0>><</if>>
<<if ndef $office.christineChoice>><<set $office.christineChoice to "">><</if>>
<<if ndef $office.mallHomeAskDone>><<set $office.mallHomeAskDone to false>><</if>>
<<if ndef $office.mallHomeChoice>><<set $office.mallHomeChoice to "">><</if>>
<<if ndef $office.partyInvited>><<set $office.partyInvited to false>><</if>>
<<if ndef $office.partyWaitSleeps>><<set $office.partyWaitSleeps to -1>><</if>>
<<if ndef $office.partyMsgSent>><<set $office.partyMsgSent to false>><</if>>
<<if ndef $office.partyMsgRead>><<set $office.partyMsgRead to false>><</if>>
<<if ndef $office.partyGiftAsked>><<set $office.partyGiftAsked to false>><</if>>
<<if ndef $office.partyGiftBought>><<set $office.partyGiftBought to false>><</if>>
<<if ndef $office.adultShopDildo>><<set $office.adultShopDildo to false>><</if>>
<<if ndef $office.partyStarted>><<set $office.partyStarted to false>><</if>>
<<if ndef $office.partyFoundChristine>><<set $office.partyFoundChristine to false>><</if>>
<<if ndef $office.partyDrinkChoice>><<set $office.partyDrinkChoice to "">><</if>>
<<if ndef $office.partyBottleHunt>><<set $office.partyBottleHunt to false>><</if>>
<<if ndef $office.partyBottleGot>><<set $office.partyBottleGot to false>><</if>>
<<if ndef $office.partyShowDone>><<set $office.partyShowDone to false>><</if>>
<<if ndef $office.partyHelpBj>><<set $office.partyHelpBj to "">><</if>>
<<if ndef $office.partyHelpIn>><<set $office.partyHelpIn to "">><</if>>
<<if ndef $office.partyHelpFuck>><<set $office.partyHelpFuck to "">><</if>>
<<if ndef $office.partyHelped>><<set $office.partyHelped to "">><</if>>
<<if ndef $office.partyStall1>><<set $office.partyStall1 to false>><</if>>
<<if ndef $office.partyStall2>><<set $office.partyStall2 to false>><</if>>
<<if ndef $office.partyPath>><<set $office.partyPath to "">><</if>>
<<if ndef $office.partyHomeAskDone>><<set $office.partyHomeAskDone to false>><</if>>
<<if ndef $office.partyHomeChoice>><<set $office.partyHomeChoice to "">><</if>>
<<if ndef $office.partyMorningSeen>><<set $office.partyMorningSeen to false>><</if>>
<<if ndef $office.partyDone>><<set $office.partyDone to false>><</if>>
<<if ndef $office.bossRoomDone>><<set $office.bossRoomDone to false>><</if>>
<<if ndef $office.noPanties>><<set $office.noPanties to false>><</if>>
<<if ndef $office.sexDeptDone>><<set $office.sexDeptDone to false>><</if>>
<<if ndef $office.buttPlug>><<set $office.buttPlug to false>><</if>>
<<if ndef $office.plugHomeAskDone>><<set $office.plugHomeAskDone to false>><</if>>
<<if ndef $office.plugHomeChoice>><<set $office.plugHomeChoice to "">><</if>>
<<if ndef $office.day10Done>><<set $office.day10Done to false>><</if>>
<<if ndef $office.studyHouse>><<set $office.studyHouse to "">><</if>>
<<if ndef $office.studyVisitDone>><<set $office.studyVisitDone to false>><</if>>
<<if ndef $office.studyVisit2WaitSleeps>><<set $office.studyVisit2WaitSleeps to -1>><</if>>
<<if ndef $office.studyVisit2Ready>><<set $office.studyVisit2Ready to false>><</if>>
<<if ndef $office.studyVisit2Done>><<set $office.studyVisit2Done to false>><</if>>
<<if ndef $office.studyDay11WaitSleeps>><<set $office.studyDay11WaitSleeps to -1>><</if>>
<<if ndef $office.studyDay11Ready>><<set $office.studyDay11Ready to false>><</if>>
<<if ndef $office.studyDay11Done>><<set $office.studyDay11Done to false>><</if>>
<<if ndef $office.od12WaitSleeps>><<set $office.od12WaitSleeps to -1>><</if>>
<<if ndef $office.od12Ready>><<set $office.od12Ready to false>><</if>>
<<if ndef $office.od12Done>><<set $office.od12Done to false>><</if>>
<<if ndef $office.od15Done>><<set $office.od15Done to false>><</if>>
<<if ndef $office.blackmailed>><<set $office.blackmailed to false>><</if>>
<<if ndef $quests.studyDavid>><<set $quests.studyDavid to false>><</if>>
<<if ndef $quests.studyChristine>><<set $quests.studyChristine to false>><</if>>
/* Catch-up: Day 10 chose a house before quest flags existed. */
<<if $office.day10Done and $office.studyHouse is "david" and not $quests.studyDavid and not $quests.studyChristine>>
<<set $quests.studyDavid to true>>
<</if>>
<<if $office.day10Done and $office.studyHouse is "christine" and not $quests.studyChristine and not $quests.studyDavid>>
<<set $quests.studyChristine to true>>
<</if>>
/* Second study/T&D — 2 sleeps after first visit. */
<<if $office.studyVisitDone and $office.studyVisit2WaitSleeps is -1 and not $office.studyVisit2Done>>
<<set $office.studyVisit2WaitSleeps to 2>>
<</if>>
/* Day 11 long T&D at Daisy's house — 2 sleeps after visit 2. */
<<if $office.studyVisit2Done and $office.studyDay11WaitSleeps is -1 and not $office.studyDay11Done>>
<<set $office.studyDay11WaitSleeps to 2>>
<</if>>
/* OD12 measure job — 3 sleeps after Day 11 home T&D. */
<<if $office.studyDay11Done and $office.od12WaitSleeps is -1 and not $office.od12Done>>
<<set $office.od12WaitSleeps to 3>>
<</if>>
<<if ndef $office.uniformBought>><<set $office.uniformBought to false>><</if>>
<<if ndef $office.uniformBoughtDay>><<set $office.uniformBoughtDay to 0>><</if>>
<<if ndef $office.uniformDayDone>><<set $office.uniformDayDone to false>><</if>>
<<if ndef $office.clientWaitSleeps>><<set $office.clientWaitSleeps to -1>><</if>>
<<if ndef $office.clientTaskReady>><<set $office.clientTaskReady to false>><</if>>
<<if ndef $office.clientTaskDone>><<set $office.clientTaskDone to false>><</if>>
<<if ndef $office.clientHomeAskDone>><<set $office.clientHomeAskDone to false>><</if>>
<<if ndef $office.clientHomeChoice>><<set $office.clientHomeChoice to "">><</if>>
<<if ndef $office.photoshootPending>><<set $office.photoshootPending to false>><</if>>
<<if ndef $office.photoshootToldJames>><<set $office.photoshootToldJames to false>><</if>>
<<if ndef $office.photoshootDone>><<set $office.photoshootDone to false>><</if>>
<<if ndef $office.photoshootWaitSleeps>><<set $office.photoshootWaitSleeps to -1>><</if>>
<<if ndef $office.photoshootMsgSent>><<set $office.photoshootMsgSent to false>><</if>>
<<if ndef $office.photoshootMsgRead>><<set $office.photoshootMsgRead to false>><</if>>
<<if ndef $office.photoshoot2Done>><<set $office.photoshoot2Done to false>><</if>>
<<if ndef $office.lastPhotoKind>><<set $office.lastPhotoKind to "">><</if>>
<<if ndef $office.lastPhotoPay>><<set $office.lastPhotoPay to 0>><</if>>
<<if ndef $office.photoPd15Done>><<set $office.photoPd15Done to false>><</if>>
<<if ndef $office.photoGlamourAfter>><<set $office.photoGlamourAfter to 0>><</if>>
<<if ndef $office.photoEroticUnlocked>><<set $office.photoEroticUnlocked to false>><</if>>
<<if ndef $office.photoBikiniDone>><<set $office.photoBikiniDone to false>><</if>>
<<if ndef $office.photoDay19Done>><<set $office.photoDay19Done to false>><</if>>
/* Bikini pay is $300; Henry's table is $200. Old saves that already did
the bikini set never got photoBikiniDone, so Day 19 never armed. */
<<if $office.photoEroticUnlocked and $office.lastPhotoPay gte 300 and not $office.photoBikiniDone>>
<<set $office.photoBikiniDone to true>>
<</if>>
<<if ndef $office.metDavid>><<set $office.metDavid to false>><</if>>
<<if ndef $office.davidHomeDone>><<set $office.davidHomeDone to false>><</if>>
<<if ndef $office.davidStaying>><<set $office.davidStaying to false>><</if>>
<<if ndef $office.davidBreakfastDone>><<set $office.davidBreakfastDone to false>><</if>>
<<if ndef $office.davidCommuteDone>><<set $office.davidCommuteDone to false>><</if>>
<<if ndef $office.davidShowerDone>><<set $office.davidShowerDone to false>><</if>>
<<if ndef $office.davidStorageNude>><<set $office.davidStorageNude to false>><</if>>
<<if ndef $office.davidCaughtMasturbate>><<set $office.davidCaughtMasturbate to false>><</if>>
<<if ndef $office.davidCaughtTalkDone>><<set $office.davidCaughtTalkDone to false>><</if>>
<<if ndef $office.davidCaughtTalkChoice>><<set $office.davidCaughtTalkChoice to "">><</if>>
<<if ndef $office.messageSent>><<set $office.messageSent to false>><</if>>
<<if ndef $office.messageRead>><<set $office.messageRead to false>><</if>>
<<if ndef $annv>><<set $annv to {}>><</if>>
<<if ndef $annv.ready>><<set $annv.ready to false>><</if>>
<<if ndef $annv.done>><<set $annv.done to false>><</if>>
<<if ndef $jamesUrge>><<set $jamesUrge to {}>><</if>>
<<if ndef $jamesUrge.waitSleeps>><<set $jamesUrge.waitSleeps to -1>><</if>>
<<if ndef $jamesUrge.ready>><<set $jamesUrge.ready to false>><</if>>
<<if ndef $jamesUrge.done>><<set $jamesUrge.done to false>><</if>>
<<if ndef $jamesUrge.wentThroughJames>><<set $jamesUrge.wentThroughJames to false>><</if>>
<<if ndef $jamesUrge.confessed>><<set $jamesUrge.confessed to false>><</if>>
<<if ndef $sophia>><<set $sophia to {}>><</if>>
<<if ndef $sophia.waitSleeps>><<set $sophia.waitSleeps to -1>><</if>>
<<if ndef $sophia.ready>><<set $sophia.ready to false>><</if>>
<<if ndef $sophia.met>><<set $sophia.met to false>><</if>>
<<if ndef $sophia.homeDone>><<set $sophia.homeDone to false>><</if>>
<<if ndef $sophia.reunionInvited>><<set $sophia.reunionInvited to false>><</if>>
<<if ndef $sophia.reunionDone>><<set $sophia.reunionDone to false>><</if>>
<<if ndef $sophia.reunionCarBj>><<set $sophia.reunionCarBj to false>><</if>>
<<if ndef $sophia.interferedSophia>><<set $sophia.interferedSophia to false>><</if>>
<<if ndef $sophia.hawaiiRefused>><<set $sophia.hawaiiRefused to false>><</if>>
<<if ndef $sophia.groupChatMade>><<set $sophia.groupChatMade to false>><</if>>
<<if ndef $sophia.collegeGroupSent>><<set $sophia.collegeGroupSent to false>><</if>>
<<if ndef $sophia.collegeGroupRead>><<set $sophia.collegeGroupRead to false>><</if>>
<<if ndef $sophia.slutsGroupSent>><<set $sophia.slutsGroupSent to false>><</if>>
<<if ndef $sophia.slutsGroupRead>><<set $sophia.slutsGroupRead to false>><</if>>
<<if ndef $sophia.waterparkDone>><<set $sophia.waterparkDone to false>><</if>>
<<if ndef $sophia.hd10Done>><<set $sophia.hd10Done to false>><</if>>
<<if ndef $sophia.hd10TalkDone>><<set $sophia.hd10TalkDone to false>><</if>>
<<if ndef $sophia.hd10TalkChoice>><<set $sophia.hd10TalkChoice to "">><</if>>
<<if ndef $sophia.christineOfficeTalkDone>><<set $sophia.christineOfficeTalkDone to false>><</if>>
<<if ndef $sophia.christineDinnerReady>><<set $sophia.christineDinnerReady to false>><</if>>
<<if ndef $sophia.christineDinnerDone>><<set $sophia.christineDinnerDone to false>><</if>>
<<if ndef $sophia.christineDinnerChoice>><<set $sophia.christineDinnerChoice to "">><</if>>
<<if ndef $sophia.christineSundayInvited>><<set $sophia.christineSundayInvited to false>><</if>>
<<if ndef $sophia.christineSundayOnDay>><<set $sophia.christineSundayOnDay to 0>><</if>>
<<if ndef $sophia.christineSundayDinnerDone>><<set $sophia.christineSundayDinnerDone to false>><</if>>
<<if ndef $sophia.christineSundayFlirt>><<set $sophia.christineSundayFlirt to "">><</if>>
<<if ndef $sophia.christineSundayKiss>><<set $sophia.christineSundayKiss to "">><</if>>
<<if ndef $sophia.christineClubTalkWaitSleeps>><<set $sophia.christineClubTalkWaitSleeps to -1>><</if>>
<<if ndef $sophia.christineClubTalkReady>><<set $sophia.christineClubTalkReady to false>><</if>>
<<if ndef $sophia.christineClubTalkDone>><<set $sophia.christineClubTalkDone to false>><</if>>
<<if ndef $sophia.christineHasJamesNumber>><<set $sophia.christineHasJamesNumber to false>><</if>>
<<if ndef $sophia.christineJamesTextDone>><<set $sophia.christineJamesTextDone to false>><</if>>
<<if ndef $sophia.christineJamesTextRead>><<set $sophia.christineJamesTextRead to false>><</if>>
<<if ndef $sophia.christineJamesTextFeel>><<set $sophia.christineJamesTextFeel to "">><</if>>
<<if ndef $sophia.christineClubSaturday>><<set $sophia.christineClubSaturday to false>><</if>>
<<if ndef $sophia.christineClubOnDay>><<set $sophia.christineClubOnDay to 0>><</if>>
<<if ndef $sophia.christineClubDone>><<set $sophia.christineClubDone to false>><</if>>
<<if ndef $sophia.clubJamesWashroom>><<set $sophia.clubJamesWashroom to "">><</if>>
<<if ndef $sophia.clubJamesKissReact>><<set $sophia.clubJamesKissReact to "">><</if>>
<<if $sophia.christineJamesTextDone and not $sophia.christineClubSaturday and not $sophia.christineClubDone>>
<<set $sophia.christineClubSaturday to true>>
<<if not $sophia.christineClubOnDay>><<set $sophia.christineClubOnDay to setup.nextSaturdayDay()>><</if>>
<</if>>
<<if $sophia.christineSundayDinnerDone and $sophia.christineClubTalkWaitSleeps is -1 and not $sophia.christineClubTalkDone and not $sophia.christineClubTalkReady>>
<<set $sophia.christineClubTalkWaitSleeps to 3>>
<</if>>
<<if ndef $jamesShower>><<set $jamesShower to {}>><</if>>
<<if ndef $jamesShower.waitSleeps>><<set $jamesShower.waitSleeps to -1>><</if>>
<<if ndef $jamesShower.ready>><<set $jamesShower.ready to false>><</if>>
<<if ndef $jamesShower.done>><<set $jamesShower.done to false>><</if>>
<<if ndef $jamesShower.invited>><<set $jamesShower.invited to false>><</if>>
<<if ndef $jamesShower.finish>><<set $jamesShower.finish to "">><</if>>
<<if ndef $peter>><<set $peter to {}>><</if>>
<<if ndef $peter.unlocked>><<set $peter.unlocked to false>><</if>>
<<if ndef $peter.stage>><<set $peter.stage to 0>><</if>>
<<if ndef $world>><<set $world to {}>><</if>>
<<if ndef $world.day>><<set $world.day to 1>><</if>>
<<if ndef $world.time>><<set $world.time to "Morning">><</if>>
<<if ndef $world.location>><<set $world.location to "">><</if>>
<<if ndef $day1>><<set $day1 to {}>><</if>>
<<if ndef $day1.morningDone>><<set $day1.morningDone to false>><</if>>
<<if ndef $today>><<set $today to {}>><</if>>
<<if ndef $today.showered>><<set $today.showered to false>><</if>>
<<if ndef $today.dressed>><<set $today.dressed to false>><</if>>
<<if ndef $today.hotDress>><<set $today.hotDress to false>><</if>>
<<if ndef $today.kitchenDone>><<set $today.kitchenDone to false>><</if>>
<<if ndef $today.livingDone>><<set $today.livingDone to false>><</if>>
<<if ndef $today.wentOutside>><<set $today.wentOutside to false>><</if>>
<<if ndef $today.eveningDone>><<set $today.eveningDone to false>><</if>>
<<if ndef $today.jamesEvent>><<set $today.jamesEvent to false>><</if>>
<<if ndef $today.maxTaught>><<set $today.maxTaught to false>><</if>>
<<if ndef $today.officeShift>><<set $today.officeShift to 0>><</if>>
<<if ndef $today.cafeShiftDone>><<set $today.cafeShiftDone to false>><</if>>
<<if ndef $today.gymDone>><<set $today.gymDone to false>><</if>>
<<if ndef $today.parkJogged>><<set $today.parkJogged to false>><</if>>
<<if ndef $today.gigDone>><<set $today.gigDone to false>><</if>>
<<if ndef $today.photoShootDone>><<set $today.photoShootDone to false>><</if>>
<<if ndef $town>><<set $town to {}>><</if>>
<<if ndef $town.storeDone>><<set $town.storeDone to false>><</if>>
<<if ndef $town.parkDone>><<set $town.parkDone to false>><</if>>
<<if ndef $town.cafeDone>><<set $town.cafeDone to false>><</if>>
<<if ndef $town.movieNightDone>><<set $town.movieNightDone to false>><</if>>
<<if ndef $town.teasedJames>><<set $town.teasedJames to false>><</if>>
<<if ndef $town.dinnerDone>><<set $town.dinnerDone to false>><</if>>
<<if ndef $town.gymClothesBought>><<set $town.gymClothesBought to false>><</if>>
<<if ndef $town.tysoneMet>><<set $town.tysoneMet to false>><</if>>
<<if ndef $town.tysoneWorkoutDone>><<set $town.tysoneWorkoutDone to false>><</if>>
<<if ndef $town.tysoneHelpDone>><<set $town.tysoneHelpDone to false>><</if>>
<<if ndef $town.tysoneHelpChoice>><<set $town.tysoneHelpChoice to "">><</if>>
<<if ndef $town.gymUnlocked>><<set $town.gymUnlocked to false>><</if>>
<<if ndef $town.gymMembership>><<set $town.gymMembership to false>><</if>>
<<if ndef $town.gymIntroDone>><<set $town.gymIntroDone to false>><</if>>
<<if ndef $town.gymKissDone>><<set $town.gymKissDone to false>><</if>>
<<if ndef $town.gymKissChoice>><<set $town.gymKissChoice to "">><</if>>
/* Catch-up for saves where $town.dinnerDone was already true before
Anniversary got wired to arm off it (see kitchen.twee) — without
this, a save that finished Kitchen Dinner under an older build can
never arm $annv.ready, since Kitchen Dinner is permanently locked
out once dinnerDone is true and nothing else sets it. */
<<if $town.dinnerDone and not $annv.ready and not $annv.done>>
<<set $annv.ready to true>>
<</if>>
/* Main quest Desk2 client task — 3 sleeps after OD5 uniform day. */
<<if $office.uniformDayDone and $office.clientWaitSleeps is -1 and not $office.clientTaskDone>>
<<set $office.clientWaitSleeps to 3>>
<</if>>
/* Photoshoot — 3 sleeps after offer, then Sergio texts (must read before studio). */
<<if $quests.photoshoot and $office.photoshootPending and $office.photoshootWaitSleeps is -1 and not $office.photoshootMsgSent and not $office.photoshootDone>>
<<set $office.photoshootWaitSleeps to 3>>
<</if>>
/* Main quest party beat — 3 sleeps after Sergio photoshoot, then Christine texts. */
<<if $office.photoshootDone and $office.partyWaitSleeps is -1 and not $office.partyMsgSent and not $office.partyDone>>
<<set $office.partyWaitSleeps to 3>>
<</if>>
/* James route Sophia beat — 3 sleeps after H2D5 David tease. */
<<if $office.davidHomeDone and $sophia.waitSleeps is -1 and not $sophia.met and not $sophia.homeDone>>
<<set $sophia.waitSleeps to 3>>
<</if>>
/* James route shower beat — 2 sleeps after college reunion. */
<<if $sophia.reunionDone and $jamesShower.waitSleeps is -1 and not $jamesShower.done>>
<<set $jamesShower.waitSleeps to 2>>
<</if>>
<<if ndef $wardrobe>><<set $wardrobe to {}>><</if>>
<<if ndef $wardrobe.current>><<set $wardrobe.current to "sleepwear">><</if>>
<<if ndef $gym>><<set $gym to {}>><</if>>
<<if ndef $gym.level>><<set $gym.level to 1>><</if>>
<<if $gym.level lt 1>><<set $gym.level to 1>><</if>>
<<if $gym.level gt setup.GYM_MAX_LEVEL>><<set $gym.level to setup.GYM_MAX_LEVEL>><</if>>
<<if ndef $gym.xp>><<set $gym.xp to 0>><</if>>
<<if ndef $jobs>><<set $jobs to {}>><</if>>
<<if ndef $jobs.unlocked>><<set $jobs.unlocked to false>><</if>>
<<if ndef $jobs.level>><<set $jobs.level to 1>><</if>>
<<if ndef $jobs.xp>><<set $jobs.xp to 0>><</if>>
<<if ndef $jobs.lastRating>><<set $jobs.lastRating to 0>><</if>>
<<if ndef $cafe>><<set $cafe to {}>><</if>>
<<if ndef $cafe.level>><<set $cafe.level to 1>><</if>>
<<if ndef $cafe.xp>><<set $cafe.xp to 0>><</if>>
<<if ndef $cafe.lastPay>><<set $cafe.lastPay to 0>><</if>>
<<if ndef $cafe.lastTip>><<set $cafe.lastTip to 0>><</if>>
<<if ndef $cafe.justLeveled>><<set $cafe.justLeveled to false>><</if>>
<<if ndef $cafe.gropeDone>><<set $cafe.gropeDone to false>><</if>>
<<if ndef $cafe.gropeChoice>><<set $cafe.gropeChoice to "">><</if>>
<<if ndef $cafe.firstFloorTalkDone>><<set $cafe.firstFloorTalkDone to false>><</if>>
<<if ndef $cafe.firstFloorOpinion>><<set $cafe.firstFloorOpinion to "">><</if>>
<<if ndef $cafe.firstFloorOffered>><<set $cafe.firstFloorOffered to false>><</if>>
<<if ndef $cafe.firstFloorAccepted>><<set $cafe.firstFloorAccepted to false>><</if>>
<<if ndef $cafe.firstFloorPantyDone>><<set $cafe.firstFloorPantyDone to false>><</if>>
<<if ndef $cafe.firstFloorSpillDone>><<set $cafe.firstFloorSpillDone to false>><</if>>
<<if ndef $cafe.firstFloorSpillChoice>><<set $cafe.firstFloorSpillChoice to "">><</if>>
<<if ndef $cafe.firstFloorSpillPeek>><<set $cafe.firstFloorSpillPeek to "">><</if>>
/* Clamp tracked stats to their caps (config.js setup.statBounds). */
<<set $player.corruption to setup.clampStatValue("player.corruption", $player.corruption)>>
<<run setup.syncDaisyPortrait()>>
<<set $player.loveJames to setup.clampStatValue("player.loveJames", $player.loveJames)>>
<<set $james.awareness to setup.clampStatValue("james.awareness", $james.awareness)>>
<<set $james.acceptance to setup.clampStatValue("james.acceptance", $james.acceptance)>>
<<set $james.openness to setup.clampStatValue("james.openness", $james.openness)>>
<<if $player.money lt 0>><<set $player.money to 0>><</if>>
<div class="sidebar-caption">
<div class="sidebar-time">
<span class="sidebar-day"><<= setup.dayName()>></span>
<span class="sidebar-time-sep">•</span>
<span class="sidebar-daytime"><<= $world.time>></span>
</div>
<div class="sidebar-portrait">
/* Next version — swap to pp_20.webp at corruption 20
<<if $player.corruption gte 20>>
<img src="Images/Daisy/pp_20.webp" alt="Daisy">
<<else>>
<img src="Images/Daisy/pp.jpg" alt="Daisy">
<</if>>
*/
<img src="Images/Daisy/pp.jpg" alt="Daisy">
</div>
<div class="sidebar-stats-box">
<div class="sidebar-stat-row">
<span class="sidebar-stat-label"><i class="fa-solid fa-coins stat-icon money-icon"></i> Money</span>
<span class="sidebar-stat-val money-val">$<<= $player.money>></span>
</div>
<div class="sidebar-stat-row">
<span class="sidebar-stat-label"><i class="fa-solid fa-fire-flame-curved stat-icon corr-icon"></i> Corruption</span>
<span class="sidebar-stat-val corr-val"><<= $player.corruption>></span>
</div>
<div class="sidebar-stat-row">
<span class="sidebar-stat-label"><i class="fa-solid fa-heart stat-icon love-icon"></i> Love · James</span>
<span class="sidebar-stat-val love-val"><<= $player.loveJames>></span>
</div>
<div class="sidebar-stat-row">
<span class="sidebar-stat-label"><i class="fa-solid fa-door-open stat-icon open-icon"></i> James' Openness</span>
<span class="sidebar-stat-val open-val"><<= $james.openness>></span>
</div>
<div class="sidebar-stat-row">
<span class="sidebar-stat-label"><i class="fa-solid fa-eye stat-icon aware-icon"></i> Awareness</span>
<span class="sidebar-stat-val aware-val"><<= $james.awareness>></span>
</div>
<div class="sidebar-stat-row">
<span class="sidebar-stat-label"><i class="fa-solid fa-handshake stat-icon accept-icon"></i> Acceptance</span>
<span class="sidebar-stat-val accept-val"><<= $james.acceptance>></span>
</div>
</div>
<<set _unreadMsgs to setup.countUnreadMessages()>>
<button type="button" @class="'sidebar-phone-btn' + (_unreadMsgs ? ' has-notif' : '')" id="oq-sidebar-phone" title="Phone">
<span class="sidebar-phone-icon" aria-hidden="true">
<span class="sidebar-phone-notch"></span>
<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<rect x="7" y="2.5" width="10" height="19" rx="2.5"></rect>
<line x1="10" y1="18.5" x2="14" y2="18.5"></line>
</svg>
<<if _unreadMsgs>>
<span class="sidebar-phone-badge"><<= _unreadMsgs>></span>
<</if>>
</span>
<span class="sidebar-phone-label">Phone</span>
</button>
<button type="button" class="sidebar-cheat-btn" id="oq-sidebar-cheats"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" aria-hidden="true"><rect x="5" y="10" width="14" height="11" rx="2"></rect><path d="M8 10V7a4 4 0 0 1 8 0v3M12 14v3"></path></svg><span>Cheats</span></button>
</div>
<</nobr>>/* Single source of truth for all save-state shape. Runs once, on new game.
See REMAKE-ARCHITECTURE.md §3/§7 — namespaced-by-arc objects, event-driven
flags instead of day-number gates within an arc. */
<<set $player to {
name: "Daisy",
money: 200,
corruption: 0,
loveJames: 50,
pastSingle: false,
corr20Seen: false
}>>
/* James's reaction stats — tracked separately from Daisy's own so his
response can diverge from her behavior. See README.md "Stats".
openness lives here (not on $player) because it specifically tracks
James's readiness for non-monogamy/swinging, not Daisy's own. */
<<set $james to {
awareness: 0,
acceptance: 0,
openness: 0
}>>
/* Active quest flags — read by the phone's Notes app (Quest / Side
Quests tabs). Extend as new quest threads get built; each flag here
should correspond to an entry in phone.js's getSideQuestNotes().
max and ekon are deliberately separate routes: max tracks the
tutoring thread (Max House), ekon only turns on once the ambush
after the first tutoring session actually happens — see
locations/quests/max-tutoring.twee and locations/quests/ekon.twee. */
<<set $quests to {
cafeJob: false,
max: false,
ekon: false,
office: false,
/* David — arms when she meets him at the office (OD5 / metDavid);
first real beat is the H2D5 home overnight (david-home.twee). */
david: false,
/* Photoshoot — arms after the Desk2 client deal photoshoot offer;
unlocks Town Map Photo Studio (photostudio.twee). */
photoshoot: false,
/* Peter — arms after the college reunion dance/revenge beat. */
peter: false,
/* Exam study — set from Day 10 house choice (only one arms). */
studyDavid: false,
studyChristine: false
}>>
/* Ekon quest — independent of the main day-spine, driven entirely by
its own stage number (see ARCHITECTURE.md §3) so it can unfold over
several real days without touching any other quest.
stage: 0 not started · 1 rescue happened, Max tutoring agreed, ambush
pending (triggers when she leaves Max's first session) ·
2 ambushed, agreed to work for Ekon as his on-call "agent," debt
active, waiting for a weekend collection ·
3 first payment cycle resolved, ongoing in the background. */
<<set $ekon to {
stage: 0,
agent: false,
debt: 0,
weeklyAmount: 500,
paidTotal: 0,
ambushDay: 0,
summonSent: false,
summonRead: false
}>>
/* Max's own route — persistent, one-time story flags for his tutoring
thread specifically (separate from $ekon; see max-tutoring.twee).
aaronIntrusion: Aaron barges into Max's room during the second
tutoring session and threatens Max's family — one-time beat.
h2d11Done: PE incident tutoring special (after Aaron dinner).
peResearchPending/Done: Daisy looks up PE on her Bedroom PC. */
<<set $max to {
aaronIntrusion: false,
h2d11Done: false,
peResearchPending: false,
peResearchDone: false,
/* Max's Corruption — raised by cleavage teases during tutoring; need 5 to progress. */
corruption: 0,
/* After corr 5: Aaron's video of Lena's friend (BJ) — one-shot. */
aaronFriendVideoDone: false,
/* After corr 10: Aaron's club videos of Lena — one-shot. */
lenaClubVideoDone: false,
lenaClubChoice: "",
/* After corr 15: mom text thread + Aaron bathroom spy video — one-shot. */
momBathroomSpyDone: false,
momSpyChoice: "",
/* After corr 20: mom blindfold BJ photo set from Aaron — one-shot. */
momBlindfoldBjDone: false
}>>
/* Office quest — the main-quest workplace thread (Christine/Jayden),
independent of Max/Ekon (see locations/town/office.twee).
stage: 0 not started · 1 first office day complete (Jayden interview +
Christine's shopping trip), urge fork pending · 2 fork resolved safely
(no blackmail) · 3 caught + blackmailed by Jayden, uniform demand sent
via Messages.
blackmailed stays true permanently once set — it's the flag that
gates Jayden's ongoing demands, not stage (stage just tracks how far
the intro/fork has progressed).
christineChoice: "" | "defend" | "quiet" — how Daisy responded when
Christine called marriage a waste, set during the first office day.
partyInvited: flavor from Christine shopping (not the party trigger).
Main-quest party beat arms after photoshootDone: partyWaitSleeps (3) →
Christine texts (partyMsgSent/Read) → Sunday gift (GD8 / partyGiftAsked)
→ Mall Adult Shop (partyGiftBought) → Sunday Evening from Bedroom
→ party map (partyStarted): find Christine → drink choice → bottle
hunt → living-room watch → roam / leave (partyDone). Notes live
under Main, not a separate quest.
After the Mall uniform purchase: uniformBoughtDay = $world.day at buy
time; the OD5 "first day in the dress" beat (Jayden inspect + work with
David) only fires on a later weekday while wearing the uniform — see
office.twee's Office Uniform Day. uniformDayDone locks that one-shot.
clientWaitSleeps (−1 = not armed): 3 sleeps after OD5, then Desk2 /
client-task beat (B2D6 mansion) on next weekday office visit. */
<<set $office to {
stage: 0,
christineChoice: "",
/* After Christine mall trip: James asks at the door. truth | lie. */
mallHomeAskDone: false,
mallHomeChoice: "",
partyInvited: false,
partyWaitSleeps: -1,
partyMsgSent: false,
partyMsgRead: false,
partyGiftAsked: false,
partyGiftBought: false,
/* Free dildo promo from Adult Shop checkout (original NoD8). */
adultShopDildo: false,
partyStarted: false,
partyFoundChristine: false,
partyDrinkChoice: "",
partyBottleHunt: false,
partyBottleGot: false,
partyShowDone: false,
partyHelpBj: "",
partyHelpIn: "",
partyHelpFuck: "",
partyHelped: "",
partyStall1: false,
partyStall2: false,
partyPath: "",
/* After party, if she helped Christine: James sees a stain. truth | lie | none. */
partyHomeAskDone: false,
partyHomeChoice: "",
partyMorningSeen: false,
partyDone: false,
/* After party: weekday Morning office → OD9 + boss room + SD9. */
bossRoomDone: false,
noPanties: false,
sexDeptDone: false,
/* Butt plug from sex department — worn rest of day (SD9); Day 10 reinserts. */
buttPlug: false,
/* After sex-dept plug: James sees it when she bends at the door. */
plugHomeAskDone: false,
plugHomeChoice: "",
/* Day 10 main — morning auto (boss urgent text → shower → meeting). */
day10Done: false,
/* Study-group house after layoffs meeting: "" | "christine" | "david". */
studyHouse: "",
/* First study-night + truth/dare at that house (after D2D9). */
studyVisitDone: false,
/* Second T&D session: wait 2 sleeps after first visit → Daisy's life. */
studyVisit2WaitSleeps: -1,
studyVisit2Ready: false,
studyVisit2Done: false,
/* Day 11 long T&D night at Daisy's house (after visit 2). */
studyDay11WaitSleeps: -1,
studyDay11Ready: false,
studyDay11Done: false,
/* OD12 — sex dept dick-measure job; 3 sleeps after Day 11 T&D. */
od12WaitSleeps: -1,
od12Ready: false,
od12Done: false,
/* OD15 — hallway fall + layoff exam; needs studyDay11Done (all T&D). */
od15Done: false,
blackmailed: false,
uniformBought: false,
uniformBoughtDay: 0,
uniformDayDone: false,
clientWaitSleeps: -1,
clientTaskReady: false,
clientTaskDone: false,
/* After Desk2 mansion: James notices a stain on her skirt. truth | lie. */
clientHomeAskDone: false,
clientHomeChoice: "",
photoshootPending: false,
photoshootToldJames: false,
photoshootDone: false,
/* First session: wait 3 sleeps → Sergio texts → must read → P3D8.
Second (PHD9): after college reunion, Sunday only → HD9 home. */
photoshootWaitSleeps: -1,
photoshootMsgSent: false,
photoshootMsgRead: false,
photoshoot2Done: false,
lastPhotoKind: "",
lastPhotoPay: 0,
photoPd15Done: false,
photoGlamourAfter: 0,
photoEroticUnlocked: false,
photoBikiniDone: false,
photoDay19Done: false,
metDavid: false,
/* H2D5 — naked "tease James" welcome that opens on David instead;
arms for James Notes once metDavid + jamesUrge.done (see phone.js /
david-home.twee). davidStaying = he lives with them for some time.
davidBreakfastDone = KD6 weekday morning kitchen beat.
davidCommuteDone = OD6→Bus→rain→storage one-shot after breakfast.
davidShowerDone = SD6 bathroom open-door beat while he lives here.
davidCaughtMasturbate = evening Bedroom walk-in (James out).
davidCaughtTalkDone / davidCaughtTalkChoice = Living Room apology
(James walks in; choice work / ignore). */
davidHomeDone: false,
davidStaying: false,
davidBreakfastDone: false,
davidCommuteDone: false,
davidShowerDone: false,
davidStorageNude: false,
/* Evening Bedroom: James out, Daisy masturbates, David walks in. */
davidCaughtMasturbate: false,
davidCaughtTalkDone: false,
davidCaughtTalkChoice: "",
messageSent: false,
messageRead: false
}>>
/* Anniversary date night — the James route's third beat (after Movie
Night, then Dinner with James), not day-numbered, not tied to any
stat threshold. Arms the moment $town.dinnerDone is set (see
locations/house/kitchen.twee), then fires automatically the next
time she's home in the Evening (see house-map.twee) — no wait-timer
needed, since Dinner with James already consumed that evening. */
<<set $annv to {
ready: false,
done: false
}>>
/* Post-office heat — same evening as Jayden catching her. Not a James
route wait-timer. done is set after ride/shower. waitSleeps unused. */
<<set $jamesUrge to {
waitSleeps: -1,
ready: false,
done: false,
wentThroughJames: false,
confessed: false
}>>
/* James route sixth beat — original N3D6 (meet Sophia in town) → H2D6
(home hug / reunion invite / jealousy). Arms 3 sleeps after the H2D5
David tease ($office.davidHomeDone); fires from Town Explore when ready.
waitSleeps −1 = not armed yet.
Seventh beat — original HD7 car-to-reunion: Saturday Morning Living
Room once reunionInvited / homeDone (see living-room.twee). */
<<set $sophia to {
waitSleeps: -1,
ready: false,
met: false,
homeDone: false,
reunionInvited: false,
reunionDone: false,
reunionCarBj: false,
interferedSophia: false,
hawaiiRefused: false,
groupChatMade: false,
/* Two Messages groups created at reunion end — see phone.js. */
collegeGroupSent: false,
collegeGroupRead: false,
slutsGroupSent: false,
slutsGroupRead: false,
/* HD9 — home confrontation after Sunday PHD9 (James + Sophia waterpark). */
waterparkDone: false,
/* HD10 — evening home, Sophia still chatting with James (no T&D). */
hd10Done: false,
/* Morning after HD10 — James comes to the bedroom. choice: "" | "boundaries" | "open" */
hd10TalkDone: false,
hd10TalkChoice: "",
/* After morning talk: Christine pries at the office, then dinner that evening. */
christineOfficeTalkDone: false,
christineDinnerReady: false,
christineDinnerDone: false,
/* Dinner flash: "" | "look" | "cover" — look raises Openness. */
christineDinnerChoice: "",
/* Next Sunday dinner at Christine's (armed as she leaves home dinner). */
christineSundayInvited: false,
christineSundayOnDay: 0,
christineSundayDinnerDone: false,
/* Sunday at her place: flirt ""|"back"|"polite"; kiss ""|"kiss"|"refuse" */
christineSundayFlirt: "",
christineSundayKiss: "",
/* 3 sleeps after Sunday dinner → office debrief + club idea. */
christineClubTalkWaitSleeps: -1,
christineClubTalkReady: false,
christineClubTalkDone: false,
christineHasJamesNumber: false,
/* Night after she has the number: James's phone, Daisy asleep. */
christineJamesTextDone: false,
christineJamesTextRead: false,
christineJamesTextFeel: "",
christineClubSaturday: false,
christineClubOnDay: 0,
christineClubDone: false,
/* "" | "go" | "stay" — James follows Christine to the washroom. */
clubJamesWashroom: "",
/* "" | "ok" | "angry" — James sees Daisy kiss Jerry. */
clubJamesKissReact: ""
}>>
/* James route eighth beat — original Day 9 "shower": after reunion, wait
2 sleeps, then Bathroom shower (James peeps → invite or refuse).
invited: true if she let him in. finish: "" | "mouth" | "face" | "solo". */
<<set $jamesShower to {
waitSleeps: -1,
ready: false,
done: false,
invited: false,
finish: ""
}>>
/* Peter route — unlocked after college reunion (quests.peter). Revenge
thread; no further scenes yet beyond Notes + his lines in the group chat. */
<<set $peter to {
unlocked: false,
stage: 0
}>>
<<set $world to {
day: 1,
time: "Morning",
location: ""
}>>
/* $today — resets at the start of every day's wake-up passage. Holds the
"did she do this yet today" flags for the house rooms (shower, dress,
cook, TV) plus the daily town-visit/evening state, which are reused
unchanged every day rather than each day having its own copy — see
src/passages/locations/house/ and locations/day-loop.twee. */
<<set $today to {
showered: false,
dressed: false,
hotDress: false,
kitchenDone: false,
livingDone: false,
wentOutside: false,
eveningDone: false,
jamesEvent: false,
maxTaught: false,
officeShift: 0,
cafeShiftDone: false,
gymDone: false,
parkJogged: false,
gigDone: false,
photoShootDone: false
}>>
/* $town — persistent, one-time town-story flags that never reset (buying
the office outfit, first park/cafe visit, the Monday movie night).
Contrast with $today above, which resets every day. */
<<set $town to {
storeDone: false,
parkDone: false,
cafeDone: false,
movieNightDone: false,
teasedJames: false,
dinnerDone: false,
gymClothesBought: false,
/* P2D52 — met Tysone while park-jogging (once). Next beat: Fitness 5 → P2D6 workout. */
tysoneMet: false,
/* P2D6/P3D6/P4D6 — joint workout with Tysone after Fitness 5. */
tysoneWorkoutDone: false,
/* Fitness 10 — Tysone "helps" with form; choice on his touch. */
tysoneHelpDone: false,
tysoneHelpChoice: "",
/* Fitness 15 — PD9/GD9: Tysone gym invite, membership, unlock Gym tile. */
gymUnlocked: false,
gymMembership: false,
gymIntroDone: false,
/* Fitness 25 — GD10/G2D10/G3D10: session with Tysone, kiss choice. */
gymKissDone: false,
gymKissChoice: ""
}>>
/* $wardrobe — which outfit Daisy is currently wearing, persists across
days (never resets). Ownership of each outfit is derived live from
existing story flags rather than duplicated here: sleepwear/modest
are always owned, hot needs $player.corruption >= 5, office needs
$town.storeDone, uniform needs $office.uniformBought, sports dress
uses wardrobe key "gym" + $town.gymClothesBought (park jogger → Mall)
— see bedroom.twee. */
<<set $wardrobe to {
current: "sleepwear"
}>>
/* $gym — fitness. Park jogging uses setup.fitnessLevelUp(+1 level/session,
no XP). Gym tile (if unlocked later) may still use gymWorkout XP.
level never resets. */
<<set $gym to {
level: 1,
xp: 0
}>>
/* $jobs — the phone's Gigs app (side freelance work), unlocked via
Christine mentioning her site during an Office shift (see
office.twee's Office Shift Jobs Hint). level/xp gate which gig
tiers are available (see config.js's jobsDoGig()); rating is
flavor-only feedback per completed gig, not a hard gate. */
<<set $jobs to {
unlocked: false,
level: 1,
xp: 0,
lastRating: 0
}>>
/* $cafe — waitress progression at Sergio's (Town Cafe). Shift XP raises
level (see config.js's cafeDoShift()); level raises base shift pay
(cafeShiftPay()). 5 ranks, level never resets. */
<<set $cafe to {
level: 1,
xp: 0,
lastPay: 0,
lastTip: 0,
justLeveled: false,
gropeDone: false,
gropeChoice: "",
firstFloorTalkDone: false,
firstFloorOpinion: "",
firstFloorOffered: false,
firstFloorAccepted: false,
firstFloorPantyDone: false,
firstFloorSpillDone: false,
firstFloorSpillChoice: "",
firstFloorSpillPeek: ""
}>>
/* Day 1 — Saturday. Just the intro evening: wake, an intimate/roof scene,
a reflection on the week ahead, sleep. No free-roam yet. */
<<set $day1 to {
morningDone: false
}>><a data-passage="Patreon"><svg class="sidebar-social-icon" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path fill="currentColor" d="M3 3h4v18H3z"/><circle fill="currentColor" cx="15.5" cy="9.5" r="6.5"/></svg><span>Patreon</span></a>
<a data-passage="Discord"><svg class="sidebar-social-icon" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path fill="currentColor" d="M19.7 5.1a18 18 0 0 0-4.4-1.4l-.5 1a16.5 16.5 0 0 0-5.6 0l-.5-1a18 18 0 0 0-4.4 1.4C1.5 9.3.7 13.4 1.1 17.4a18 18 0 0 0 5.4 2.7l1.1-1.8-1.7-.8.4-.3a13.7 13.7 0 0 0 11.4 0l.4.3-1.7.8 1.1 1.8a18 18 0 0 0 5.4-2.7c.5-4.6-.8-8.7-3.2-12.3ZM8.3 14.8c-1 0-1.8-.9-1.8-2s.8-2 1.8-2 1.8.9 1.8 2-.8 2-1.8 2Zm7.4 0c-1 0-1.8-.9-1.8-2s.8-2 1.8-2 1.8.9 1.8 2-.8 2-1.8 2Z"/></svg><span>Discord</span></a><p>Support the game and check out more games/updates on <a class="text-link" href="https://www.patreon.com/LadyDeveloper" target="_blank" rel="noopener">Patreon</a>.</p>
[[Back|previous()]]<p>Join the <a class="text-link" href="https://discord.gg/p7enmQMUuH" target="_blank" rel="noopener">Discord</a>.</p>
[[Back|previous()]]<p>Follow updates and leave feedback on <a class="text-link" href="https://f95zone.to/threads/office-queen-v0-2-lady-developer.172969/" target="_blank" rel="noopener">F95zone</a>.</p>
[[Back|previous()]]<<if $sophia.christineClubTalkDone and $sophia.christineHasJamesNumber and not $sophia.christineJamesTextDone>>
<<goto "James Christine Night Text">>
<</if>>
<<set $world.time to "Night">>
<<set $world.location to "Home - Bedroom">>
<<run setup.advanceDay()>>
<img src="Images/Daisy/sleep.jpeg" alt="">
<p>Daisy settles in beside James, another day behind her.</p>
[[Continue|Morning Wake]]<<set $world.time to "Morning">>
<<set $world.location to "Home - Bedroom">>
<<set $today to {
showered: false,
dressed: false,
hotDress: false,
kitchenDone: false,
livingDone: false,
wentOutside: false,
eveningDone: false,
jamesEvent: false,
maxTaught: false,
officeShift: 0,
cafeShiftDone: false,
gymDone: false,
parkJogged: false,
gigDone: false,
photoShootDone: false
}>>
<<if $jamesUrge.waitSleeps gt 0>>
<<set $jamesUrge.waitSleeps-- >>
<<if $jamesUrge.waitSleeps is 0>><<set $jamesUrge.ready to true>><</if>>
<</if>>
/* Main quest client task (Desk2) — 3 sleeps after OD5. */
<<if $office.clientWaitSleeps gt 0>>
<<set $office.clientWaitSleeps-- >>
<<if $office.clientWaitSleeps is 0>><<set $office.clientTaskReady to true>><</if>>
<</if>>
/* James route Sophia (N3D6) — 3 sleeps after David home tease. */
<<if $sophia.waitSleeps gt 0>>
<<set $sophia.waitSleeps-- >>
<<if $sophia.waitSleeps is 0>><<set $sophia.ready to true>><</if>>
<</if>>
/* Photoshoot — after 3 sleeps, Sergio's text lands (unread until opened). */
<<if $office.photoshootWaitSleeps gt 0>>
<<set $office.photoshootWaitSleeps-- >>
<<if $office.photoshootWaitSleeps is 0 and not $office.photoshootMsgSent and not $office.photoshootDone>>
<<set $office.photoshootMsgSent to true>>
<</if>>
<</if>>
/* Christine's party — 3 sleeps after shopping invite, then she texts. */
<<if $office.partyWaitSleeps gt 0>>
<<set $office.partyWaitSleeps-- >>
<<if $office.partyWaitSleeps is 0 and not $office.partyMsgSent and not $office.partyDone>>
<<set $office.partyMsgSent to true>>
<</if>>
<</if>>
/* James route shower (Day 9 "shower") — 2 sleeps after reunion. */
<<if $jamesShower.waitSleeps gt 0>>
<<set $jamesShower.waitSleeps-- >>
<<if $jamesShower.waitSleeps is 0>><<set $jamesShower.ready to true>><</if>>
<</if>>
/* Christine office debrief / club idea — 3 sleeps after Sunday dinner. */
<<if $sophia.christineClubTalkWaitSleeps gt 0>>
<<set $sophia.christineClubTalkWaitSleeps-- >>
<<if $sophia.christineClubTalkWaitSleeps is 0>><<set $sophia.christineClubTalkReady to true>><</if>>
<</if>>
/* Second truth/dare study night — 2 sleeps after first house visit. */
<<if $office.studyVisit2WaitSleeps gt 0>>
<<set $office.studyVisit2WaitSleeps-- >>
<<if $office.studyVisit2WaitSleeps is 0 and not $office.studyVisit2Done>>
<<set $office.studyVisit2Ready to true>>
<</if>>
<</if>>
/* Day 11 long T&D at home — 2 sleeps after visit 2. */
<<if $office.studyDay11WaitSleeps gt 0>>
<<set $office.studyDay11WaitSleeps-- >>
<<if $office.studyDay11WaitSleeps is 0 and not $office.studyDay11Done>>
<<set $office.studyDay11Ready to true>>
<</if>>
<</if>>
/* OD12 sex-dept measure — 3 sleeps after Day 11. */
<<if $office.od12WaitSleeps gt 0>>
<<set $office.od12WaitSleeps-- >>
<<if $office.od12WaitSleeps is 0 and not $office.od12Done>>
<<set $office.od12Ready to true>>
<</if>>
<</if>>
/* Sex-dept butt plug is for the rest of that workday only — off by morning
(Day 10 shower can put it back). */
<<if $office.buttPlug>>
<<set $office.buttPlug to false>>
<</if>>
/* David lives with them for some time after H2D5 — $office.davidStaying
stays true until a future beat has him leave (not cleared at wake). */
/* Morning after Christine's party — she came home herself. */
<<if $office.partyDone and not $office.partyMorningSeen>>
<<set $office.partyMorningSeen to true>>
<<goto "Party Morning Home">>
<</if>>
/* James HD10 morning talk — he said he'd talk in the morning.
Takes this wake so Day 10 can fire the next weekday instead. */
<<if $sophia.hd10Done and not $sophia.hd10TalkDone>>
<<goto "James HD10 Morning">>
<</if>>
/* Main quest Day 10 — auto from bedroom morning after sex department
(weekday only — office meeting). */
<<if $office.sexDeptDone and not $office.day10Done and not setup.isWeekend()>>
<<goto "Main Day10 Morning">>
<</if>>
/* Next version — swap to pp_20.webp at corruption 20
<<if $player.corruption gte 20>>
<img src="Images/Daisy/pp_20.webp" alt="Daisy">
<<else>>
<img src="Images/Daisy/pp.jpg" alt="Daisy">
<</if>>
*/
<img src="Images/Daisy/pp.jpg" alt="Daisy">
<p>Daisy's alarm goes off. <<= setup.dayName()>>.<<if $world.day is 3>> First day at Banana.<</if>></p>
[[Get up|House Map]]<<set $world.location to "Home - Bathroom">>
<<= setup.locBannerHtml("bathroom")>>
<<if not $today.showered>>
<<if $world.time is "Morning">>
<p>White tiles line the bathroom, and neatly folded towels sit beside the sink. It feels clean and calm.</p>
<<elseif $world.time is "Evening">>
<p>The bathroom is quiet, and the mirror is still misty from an earlier shower. A warm rinse before bed sounds good.</p>
<<else>>
<p>The white tiles are clean, and folded towels sit beside the sink and mirror.</p>
<</if>>
<<if $office.davidStaying and not $office.davidShowerDone>>
<p class="scene-meta">With David living here now, she pauses to think about whether to shut the door.</p>
<<elseif $jamesShower.ready and not $jamesShower.done>>
<p class="scene-meta">She catches a flicker of movement past the glass - James might be peeking.</p>
<</if>>
[[Take a shower|Bathroom Shower]]
[[Leave|House Map]]
<<else>>
<p>Everything is clean and tidy. She has nothing else to do here right now.</p>
[[Leave|House Map]]
<</if>>/* First shower while David is living here → SD6 (close door / leave open). */
<<if $office.davidStaying and not $office.davidShowerDone>>
<<goto "David Bathroom Shower">>
/* James route Day 9 shower — peep → invite (after reunion, wait 2d). */
<<elseif $jamesShower.ready and not $jamesShower.done>>
<<goto "James Shower">>
<<else>>
<p>Daisy steps into the shower. The warm water helps her relax as it runs over her shoulders.</p>
<img src="Images/Day 1/D111.webp" alt="">
<<set $today.showered to true>>
[[Leave|House Map]]
<</if>><<set $world.location to "Home - Bedroom">>
<<= setup.locBannerHtml("bedroom")>>
<<if $world.time is "Morning">>
<p>The bed is still warm, with pillows piled at the head. A tidy wardrobe stands against the wall, and Daisy's PC sits on the desk in the corner.</p>
<<elseif $world.time is "Noon">>
<p>Midday light falls across the bed, where the sheets are still rumpled. The wardrobe doors are partly open from earlier.</p>
<<elseif $world.time is "Afternoon">>
<p>The bed is made now, and sunlight falls across the covers. The wardrobe doors are still partly open from earlier.</p>
<<elseif $world.time is "Evening">>
<<if setup.canDavidBedroomMasturbate()>>
<p>The lamp casts a soft light across the room. James still isn't back, and the house feels empty without him.</p>
<<else>>
<p>The lamp casts a soft light across the room. Daisy has little reason to open the wardrobe again tonight.</p>
<</if>>
<<else>>
<p>The room is dark and quiet, with only the PC's small standby light glowing on the desk beside the wardrobe.</p>
<</if>>
/* Christine's party — Sunday prep / leave from Bedroom (see christine-party.twee). */
<<if $office.partyMsgRead and not $office.partyDone and setup.dayName() is "Sunday">>
<<if not $office.partyGiftAsked and ($world.time is "Morning" or $world.time is "Noon" or $world.time is "Afternoon")>>
<p class="scene-meta">Christine's houseparty is tonight — she could message her about a gift.</p>
<<elseif $office.partyGiftAsked and not $office.partyGiftBought>>
<p class="scene-meta">She still needs Christine's gift from the Adult Shop at the Mall.</p>
<<elseif $office.partyGiftBought and not $office.partyStarted and $world.time is "Evening">>
<p class="scene-meta">Christine's party starts soon. She can get ready here before leaving.</p>
<<elseif $office.partyGiftBought and not $office.partyStarted and $world.time is not "Evening" and $world.time is not "Night">>
<p class="scene-meta">The gift is ready. She can leave for Christine's party this evening.</p>
<</if>>
<</if>>
<div class="loc-grid">
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Wardrobe</span><span class="loc-sub"><<if not $today.showered>>Shower first<<elseif $today.dressed>>Already dressed<<else>>Get dressed<</if>></span></span>' "Wardrobe">><</link>>
/* PC — mostly locked; unlocks for Max PE research after H2D11 */
<<if $max.peResearchPending and not $max.peResearchDone>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">PC</span><span class="loc-sub">Look up PE / premature issues</span></span>' "Bedroom PC PE Research">><</link>>
<<elseif $max.peResearchDone>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">PC</span><span class="loc-sub">Idle</span></span>' "Bedroom PC Idle">><</link>>
<<else>>
<span class="loc-locked"><span class="loc-pin"></span><span class="loc-name">PC</span><span class="loc-sub">Coming later</span></span>
<</if>>
<<if $office.partyMsgRead and not $office.partyDone and setup.dayName() is "Sunday" and not $office.partyGiftAsked and ($world.time is "Morning" or $world.time is "Noon" or $world.time is "Afternoon")>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Message Christine</span><span class="loc-sub">Ask what gift she wants</span></span>' "Party Gift Ask">><</link>>
<</if>>
<<if $office.partyGiftBought and not $office.partyStarted and not $office.partyDone and setup.dayName() is "Sunday" and $world.time is "Evening">>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Christine party</span><span class="loc-sub">Get ready and go</span></span>' "Party Get Ready">><</link>>
<</if>>
<<if setup.canDavidBedroomMasturbate()>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Masturbate</span><span class="loc-sub">James is out</span></span>' "Bedroom David Masturbate">><</link>>
<</if>>
</div>
[[Leave|House Map]]
[[Go to sleep|Sleep]]<<set $world.location to "Home - Bedroom">>
<<if not $today.showered>>
<<speech "Daisy">>I should take a shower first.<</speech>>
[[Leave|Bedroom]]
<<else>>
<p>Daisy opens the wardrobe and looks through her clothes, wondering what to wear.</p>
<div class="wardrobe-grid">
<<if $wardrobe.current is "sleepwear">>
<span class="wardrobe-card wardrobe-wearing"><img class="wardrobe-thumb" src="Images/Dress/sleep_wear.jpg" alt=""><span class="wardrobe-label"><span class="wardrobe-name">Sleepwear</span><span class="wardrobe-sub">Wearing now</span></span></span>
<<else>>
<<link '<span class="wardrobe-card"><img class="wardrobe-thumb" src="Images/Dress/sleep_wear.jpg" alt=""><span class="wardrobe-label"><span class="wardrobe-name">Sleepwear</span></span></span>' "Wardrobe Wear Sleepwear">><</link>>
<</if>>
<<if $wardrobe.current is "modest">>
<span class="wardrobe-card wardrobe-wearing"><img class="wardrobe-thumb" src="Images/Day 1/dress2.jpg" alt=""><span class="wardrobe-label"><span class="wardrobe-name">Modest dress</span><span class="wardrobe-sub">Wearing now</span></span></span>
<<else>>
<<link '<span class="wardrobe-card"><img class="wardrobe-thumb" src="Images/Day 1/dress2.jpg" alt=""><span class="wardrobe-label"><span class="wardrobe-name">Modest dress</span></span></span>' "Wardrobe Wear Modest">><</link>>
<</if>>
<<if $player.corruption gte 5>>
<<if $wardrobe.current is "hot">>
<span class="wardrobe-card wardrobe-wearing"><img class="wardrobe-thumb" src="Images/Day 1/dress1.jpg" alt=""><span class="wardrobe-label"><span class="wardrobe-name">Hot dress</span><span class="wardrobe-sub">Wearing now</span></span></span>
<<else>>
<<link '<span class="wardrobe-card"><img class="wardrobe-thumb" src="Images/Day 1/dress1.jpg" alt=""><span class="wardrobe-label"><span class="wardrobe-name">Hot dress</span></span></span>' "Wardrobe Wear Hot">><</link>>
<</if>>
<<else>>
<span class="wardrobe-card wardrobe-locked"><img class="wardrobe-thumb" src="Images/Day 1/dress1.jpg" alt=""><span class="wardrobe-label"><span class="wardrobe-name">Hot dress</span><span class="wardrobe-sub">Needs 5 Corruption</span></span></span>
<</if>>
<<if $town.gymClothesBought>>
<<if $wardrobe.current is "gym">>
<span class="wardrobe-card wardrobe-wearing"><img class="wardrobe-thumb" src="Images/Day 5/sports1.jpg" alt=""><span class="wardrobe-label"><span class="wardrobe-name">Sports dress</span><span class="wardrobe-sub">Wearing now</span></span></span>
<<else>>
<<link '<span class="wardrobe-card"><img class="wardrobe-thumb" src="Images/Day 5/sports1.jpg" alt=""><span class="wardrobe-label"><span class="wardrobe-name">Sports dress</span></span></span>' "Wardrobe Wear Gym">><</link>>
<</if>>
<<else>>
<span class="wardrobe-card wardrobe-locked"><img class="wardrobe-thumb" src="Images/Day 5/sports1.jpg" alt=""><span class="wardrobe-label"><span class="wardrobe-name">Sports dress</span><span class="wardrobe-sub">Unlock via Park jogger</span></span></span>
<</if>>
<<if $town.storeDone>>
<<if $wardrobe.current is "office">>
<span class="wardrobe-card wardrobe-wearing"><img class="wardrobe-thumb" src="Images/Dress/office_dress_start.jpg" alt=""><span class="wardrobe-label"><span class="wardrobe-name">Office outfit</span><span class="wardrobe-sub">Wearing now</span></span></span>
<<else>>
<<link '<span class="wardrobe-card"><img class="wardrobe-thumb" src="Images/Dress/office_dress_start.jpg" alt=""><span class="wardrobe-label"><span class="wardrobe-name">Office outfit</span></span></span>' "Wardrobe Wear Office">><</link>>
<</if>>
<<else>>
<span class="wardrobe-card wardrobe-locked"><img class="wardrobe-thumb" src="Images/Dress/office_dress_start.jpg" alt=""><span class="wardrobe-label"><span class="wardrobe-name">Office outfit</span><span class="wardrobe-sub">Buy at the mall</span></span></span>
<</if>>
<<if $office.uniformBought>>
<<if $wardrobe.current is "uniform">>
<span class="wardrobe-card wardrobe-wearing"><img class="wardrobe-thumb" src="Images/Dress/jayden_uniform_for_daisy.jpeg" alt=""><span class="wardrobe-label"><span class="wardrobe-name">The uniform</span><span class="wardrobe-sub">Wearing now</span></span></span>
<<else>>
<<link '<span class="wardrobe-card"><img class="wardrobe-thumb" src="Images/Dress/jayden_uniform_for_daisy.jpeg" alt=""><span class="wardrobe-label"><span class="wardrobe-name">The uniform</span></span></span>' "Wardrobe Wear Uniform">><</link>>
<</if>>
<<else>>
<span class="wardrobe-card wardrobe-locked"><img class="wardrobe-thumb" src="Images/Dress/jayden_uniform_for_daisy.jpeg" alt=""><span class="wardrobe-label"><span class="wardrobe-name">The uniform</span><span class="wardrobe-sub">Jayden's demand</span></span></span>
<</if>>
</div>
[[Leave|Bedroom]]
<</if>>
/* ═══════════════════════════════════════════
WEAR PASSAGES — switching outfits is free and repeatable any time
she's in the wardrobe. The very first time she puts on a real dress
each day (not sleepwear), the original "James is watching, tease him
or not" beat still plays — tracked by $today.dressed being false on
entry, same signal the old one-shot Dress Hot/Modest passages used.
Every switch after that (same day or any later day) is a quick,
scene-free change.
═══════════════════════════════════════════ */<<set $wardrobe.current to "sleepwear">>
<<set $today.dressed to false>>
<<set $today.hotDress to false>>
<<toast "Back into sleepwear">>
<p>Daisy slips back into something soft and comfortable.</p>
[[Back to wardrobe|Wardrobe]]<<if not ($player.corruption gte 5)>>
<<goto "Wardrobe">>
<</if>>
<<if not $today.dressed>>
<img src="Images/Daisy/shower1.webp" alt="">
<<speech "Daisy">>I think I look pretty hot in this.<</speech>>
<img src="Images/Dress/dress1.webp" alt="">
<p>As she changes, Daisy catches James stealing a look at her. She could tease him a little before heading out.</p>
<<speech "Daisy">>(Is he watching me? Maybe I should tease him a little.)<</speech>>
<<set $wardrobe.current to "hot">>
<<set $today.dressed to true>>
<<set $today.hotDress to true>>
<<if not $town.teasedJames>>
[[Yes — tease him|Dress Tease]]
<</if>>
[[No — just get ready|Wardrobe]]
<<else>>
<<set $wardrobe.current to "hot">>
<<set $today.hotDress to true>>
<<toast "Into the hot dress">>
<p>Daisy changes into the hot dress.</p>
[[Back to wardrobe|Wardrobe]]
<</if>><<if not $today.dressed>>
<img src="Images/Daisy/shower1.webp" alt="">
<img src="Images/Day 1/D120.gif" alt="">
<p>Daisy picks a dress that covers a little more.</p>
<p>As she changes, she catches James stealing a look at her.</p>
<<set $wardrobe.current to "modest">>
<<set $today.dressed to true>>
<<set $today.hotDress to false>>
<<if not $town.teasedJames>>
<<speech "Daisy">>(Is he watching me? Maybe I should tease him a little.)<</speech>>
[[Yes — tease him|Dress Tease]]
[[No — just get ready|Wardrobe]]
<<else>>
<<speech "Daisy">>I'm all set.<</speech>>
[[Leave|Wardrobe]]
<</if>>
<<else>>
<<set $wardrobe.current to "modest">>
<<set $today.hotDress to false>>
<<toast "Into the modest dress">>
<p>Daisy changes into the modest dress.</p>
[[Back to wardrobe|Wardrobe]]
<</if>><<if not $town.gymClothesBought>>
<<goto "Wardrobe">>
<</if>>
<<set $wardrobe.current to "gym">>
<<set $today.dressed to true>>
<<set $today.hotDress to false>>
<<toast "Into the sports dress">>
<p>Daisy puts on her sports dress, ready for a jog in the park.</p>
[[Back to wardrobe|Wardrobe]]<<if not $town.storeDone>>
<<goto "Wardrobe">>
<</if>>
<<set $wardrobe.current to "office">>
<<set $today.dressed to true>>
<<set $today.hotDress to false>>
<<toast "Into the office outfit">>
<p>Daisy changes into the office outfit from the mall.</p>
[[Back to wardrobe|Wardrobe]]<<if not $office.uniformBought>>
<<goto "Wardrobe">>
<</if>>
<<set $wardrobe.current to "uniform">>
<<set $today.dressed to true>>
<<set $today.hotDress to false>>
<<toast "Into the uniform">>
<p>Daisy puts on the uniform Jayden demanded, wishing she had a choice.</p>
[[Back to wardrobe|Wardrobe]]<img src="Images/Dress/tease1.gif" alt="">
<<speech "James">>Darling, don't tease me — you know I can't resist you.<</speech>>
<p>Daisy laughs and slips away before things go any further.</p>
<<stat "player.loveJames" 1>>
<<set $town.teasedJames to true>>
[[Leave|House Map]]
/* ── Bedroom PC — Max route PE research (after H2D11) ───── */<<set $world.location to "Home - Bedroom">>
<p>Daisy sits at her desk and opens a private browser window. She chooses her search words with care, keeping them plain in case James happens to look over her shoulder.</p>
<p><em>Premature ejaculation · partner help · desensitization · teasing</em></p>
<p>Most of the pages start with the same points: it's common, nerves can make it worse, and pressure doesn't help. Then she finds an article about practising with a partner, starting with gentle teasing rather than sex. Edge him close, stop, let him cool down, start again. The idea is that repeated, careful teasing can train his body to last longer instead of finishing the second he's excited.</p>
<p>She reads that part twice. It means teasing him on purpose to help him learn control.</p>
<<speech "Daisy">>(So… I would have to be the one who does that for him.)<</speech>>
<p>Her face grows warm. She's married, and she knows she shouldn't even be thinking about this. Yet she keeps recalling Aaron's photo of Lena and the way Max's voice shook when he said he was sorry.</p>
<<speech "Daisy">>(He's already drowning. Bullies, his sister, that caption… If a little teasing can actually help him get control of himself, I can do that much. Just to help. He's got enough trouble without this on top of it.)<</speech>>
<p>She saves the page and closes the browser before James can walk in and ask what she's looking up.</p>
<<set $max.peResearchPending to false>>
<<set $max.peResearchDone to true>>
<<toast "Max: teasing practice might help" "good">>
[[Step away from the PC|Bedroom]]<<set $world.location to "Home - Bedroom">>
<p>The PC hums quietly. She has finished looking up PE for now, and anything else she needs to do on it can wait for another day.</p>
[[Back|Bedroom]]<<set $world.location to "Home - Hall">>
<<= setup.locBannerHtml("hall")>>
/* Anniversary date night — the James route's third beat, armed once
$town.dinnerDone (see locations/house/kitchen.twee /
locations/quests/anniversary.twee), not a stat threshold or day
number. Auto-triggers the next time she's home in the Evening. The
one-time movie night with James no longer auto-intercepts here —
it's a player-initiated invite from the Living Room instead (see
locations/house/living-room.twee), so it can't compete with this for
the same Evening the way an auto-trigger could. */
/* Office-caught leftover heat — ride James or shower. Not a James-route
wait-timer; fires the first time she's home after blackmail. */
<<if $office.blackmailed and not $jamesUrge.done>>
<<goto "James Urge">>
<<elseif $office.clientTaskDone and not $office.clientHomeAskDone>>
<<goto "Client Home James">>
<<elseif $office.sexDeptDone and $office.buttPlug and not $office.plugHomeAskDone>>
<<goto "Plug Home James">>
<<elseif $annv.ready and not $annv.done and not $today.eveningDone>>
[[Continue|Anniversary Letter]]
/* HD10 — James route: Sophia + James on the sofa (after waterpark night).
Fires when she comes home Evening/Night; no truth-or-dare framing. */
<<elseif $sophia.waterparkDone and not $sophia.hd10Done and not $today.eveningDone and ($world.time is "Evening" or $world.time is "Night")>>
<<goto "James HD10 Home">>
/* Morning after HD10 — James comes to the bedroom (old saves that already woke). */
<<elseif $sophia.hd10Done and not $sophia.hd10TalkDone and $world.time is "Morning">>
<<goto "James HD10 Morning">>
/* Study Day 11 — long T&D night at home after visit 2 + 2-day wait. */
<<elseif $office.studyDay11Ready and not $office.studyDay11Done and not $today.eveningDone and ($world.time is "Evening" or $world.time is "Night")>>
<<goto "Study Day11 Home">>
/* Day already wrapped up (movie done, or she chose to turn in) */
<<elseif $today.eveningDone>>
<p>The house is quiet, and Daisy is ready to call it a day.</p>
[[Bedroom]]
/* Free-roam house hub */
<<else>>
<<if $world.time is "Night">>
<p>The house is dark and quiet. It's late — time for bed.</p>
[[Bedroom]]
<<else>>
<<if $world.time is "Morning">>
<p>Sunlight filters through the curtains, casting a warm glow over the wooden furniture. Family photos line the walls. A pleasant aroma drifts in from the kitchen.</p>
<<elseif $world.time is "Noon">>
<p>Midday sun fills the house with light and warmth. James is busy elsewhere, leaving Daisy some time to herself.</p>
<<elseif $world.time is "Afternoon">>
<p>The afternoon sun hangs lower, casting a warm light across the room. The house is quiet while James keeps busy elsewhere.</p>
<<else>>
<<if setup.canDavidBedroomMasturbate()>>
<p>The lamps are on, and the house is quiet as it grows dark outside. James still isn't back.</p>
<<else>>
<p>The lamps are on as it grows dark outside. The house is quiet, apart from James moving about down the hall.</p>
<</if>>
<</if>>
/* H2D5 — James route after aphrodisiac + David introduced at work:
player-initiated "tease James" welcome (see david-home.twee). */
<<if $jamesUrge.done and $office.metDavid and not $office.davidHomeDone and ($world.time is "Afternoon" or $world.time is "Evening")>>
<p class="scene-meta">She could welcome James home tonight… and tease him a little.</p>
<</if>>
<div class="loc-grid">
<<if $jamesUrge.done and $office.metDavid and not $office.davidHomeDone and ($world.time is "Afternoon" or $world.time is "Evening")>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Tease James</span><span class="loc-sub">Welcome him home… naked</span></span>' "James Naked Tease">><</link>>
<</if>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Bedroom</span><span class="loc-sub"><<if $today.dressed>>Wardrobe<<elseif $today.showered>>Get dressed<<else>>Wardrobe<</if>></span></span>' "Bedroom">><</link>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Bathroom</span><span class="loc-sub"><<if $today.showered>>Already showered<<else>>Take a shower<</if>></span></span>' "Bathroom">><</link>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Kitchen</span><span class="loc-sub"><<if $world.time is "Evening" and not $town.dinnerDone and $town.movieNightDone>>Cook dinner<<elseif $today.kitchenDone>>Already cooked<<elseif $office.davidStaying and not $office.davidBreakfastDone and $world.time is "Morning" and not setup.isWeekend()>>Cook breakfast (David)<<else>>Cook breakfast<</if>></span></span>' "Kitchen">><</link>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Living room</span><span class="loc-sub"><<if $sophia.homeDone and $sophia.reunionInvited and not $sophia.reunionDone and setup.dayName() is "Saturday" and $world.time is "Morning">>College reunion<<elseif setup.canDavidCaughtTalk()>>Talk to David<<else>>Watch a movie<</if>></span></span>' "Living Room">><</link>>
<<if setup.christineClubNightReady() and $world.time is "Evening">>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Club night</span><span class="loc-sub">Christine and Jerry</span></span>' "Club Night">><</link>>
<</if>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Outside</span><span class="loc-sub">Into town</span></span>' "Town Map">><</link>>
</div>
<</if>>
<</if>><<set $world.location to "Home - Kitchen">>
<<= setup.locBannerHtml("kitchen")>>
<<if $world.time is "Morning">>
<p>The kitchen is tidy, with utensils hanging above the stove and the smell of cooking still lingering in the air.</p>
<<elseif $world.time is "Noon">>
<p>Midday light falls across the counter, giving the tidy kitchen a warm glow.</p>
<<elseif $world.time is "Afternoon">>
<p>The kitchen is tidy and quiet, with afternoon light falling across the counter.</p>
<<elseif $world.time is "Evening">>
<p>The last of the evening light falls through the kitchen window.</p>
<<else>>
<p>The kitchen is dark and still, with only the hum of the fridge.</p>
<</if>>
<<if $world.time is "Evening" and $sophia.christineDinnerReady and not $sophia.christineDinnerDone>>
[[Dinner with Christine|Christine Dinner]]
[[Leave|House Map]]
<<elseif $world.time is "Evening" and not $town.dinnerDone and $town.movieNightDone>>
[[Cook dinner|Kitchen Dinner]]
[[Leave|House Map]]
/* David quest KD6 — weekday Morning only, once, while he's living here.
Weekends fall through to the plain Kitchen Cook below. */
<<elseif not $today.kitchenDone and $world.time is "Morning" and $office.davidStaying and not $office.davidBreakfastDone and not setup.isWeekend()>>
[[Cook breakfast|David Kitchen Breakfast]]
[[Leave|House Map]]
<<elseif not $today.kitchenDone>>
[[Cook breakfast|Kitchen Cook]]
[[Leave|House Map]]
<<else>>
<<speech "Daisy">>I've already eaten. I don't need to cook again.<</speech>>
[[Leave|House Map]]
<</if>><p>Daisy chops the vegetables and stirs the food as it cooks. Soon, breakfast smells fill the kitchen. James sits down, and she brings him a plate.</p>
<<speech "James">>This is so good, Daisy. I love your cooking.<</speech>>
<img src="Images/Day 1/D110.gif" alt="">
<p>After they eat, Daisy gives him a quick kiss.</p>
<<set $today.kitchenDone to true>>
[[Leave|House Map]]<<run setup.markJamesEvent()>>
<img src="Images/Home/Kitchen/cook1.webp" alt="">
<p>Daisy's midway through cooking when the front door opens.</p>
<<speech "James">>Daisy?<</speech>>
<<speech "Daisy">>In the kitchen!<</speech>>
<p>James wraps his arms around her from behind, warm and familiar.</p>
<img src="Images/Home/Kitchen/cook2.gif" alt="">
<<speech "Daisy">>Hey baby. Long day?<</speech>>
<<speech "James">>They want me working overtime if I want to keep my job. Right now, though, I'd rather spend time with you.<</speech>>
<p>He gently turns her face toward him and kisses her as she stirs, slipping a hand under her apron.</p>
<<speech "Daisy">>(Should I let this keep going? I'd hate to burn dinner.)<</speech>>
<div id="can">
<<link "Let him keep going">><<replace "#can">>
<img src="Images/Home/Kitchen/cook3.gif" alt="">
<<speech "James">>You're so fucking sexy.<</speech>>
<p>He lifts her onto the counter, and dinner waits a while longer.</p>
<img src="Images/Home/Kitchen/cook5.gif" alt="">
<<speech "Daisy">>I want you to cum on my face. I want to feel it.<</speech>>
<img src="Images/Home/Kitchen/cook6.gif" alt="">
<p>Afterward, they take their time finishing dinner together. Neither feels like rushing, and they spend the rest of the evening enjoying each other's company.</p>
<<stat "player.loveJames" 2>>
<<set $today.kitchenDone to true>>
<<set $town.dinnerDone to true>>
<<set $annv.ready to true>>
[[Leave|House Map]]
<</replace>><</link>>
<<link "Ask him to wait">><<replace "#can">>
<<speech "Daisy">>Sorry, baby — I'm just really tired. Can we just have dinner and get some sleep?<</speech>>
<<speech "James">>Of course. I understand.<</speech>>
<img src="Images/Day 2/D212.gif" alt="">
<p>He kisses her once more and lets her finish cooking. They share a quiet dinner, happy just to be together.</p>
<<stat "player.loveJames" 1>>
<<set $today.kitchenDone to true>>
<<set $town.dinnerDone to true>>
<<set $annv.ready to true>>
[[Leave|House Map]]
<</replace>><</link>>
</div><<set $world.location to "Home - Living Room">>
/* HD7 — Saturday morning only, after Sophia's reunion invite. */
<<if $sophia.homeDone and $sophia.reunionInvited and not $sophia.reunionDone and setup.dayName() is "Saturday" and $world.time is "Morning">>
<<goto "James Reunion Car">>
<</if>>
<<= setup.locBannerHtml("living")>>
<<if $world.time is "Morning">>
<p>The sofa looks like a good place to settle in and watch some TV.</p>
<<elseif $world.time is "Noon">>
<p>Midday light fills the room. The TV is off, and the sofa is empty.</p>
<<elseif $world.time is "Evening">>
<<if setup.canDavidCaughtTalk()>>
<p>David is on the sofa, not really watching anything. He looks like he's been waiting to say something.</p>
<<else>>
<p>Evening light filters through the curtains, leaving the room dim and cozy. Daisy could settle down and watch some TV.</p>
<</if>>
<<else>>
<p>The room is quiet and comfortable, and the TV is off.</p>
<</if>>
<<if setup.canDavidCaughtTalk()>>
<p class="scene-meta">David's still here. She could talk to him about earlier — before James gets home.</p>
<<link "Talk to David" "Living David Caught Talk">><</link>>
<</if>>
<<link "Watch a movie" "Living Movie">><</link>>
<<if $world.time is "Evening" and not $today.eveningDone and not $town.movieNightDone>>
<<link "Ask James to watch a movie" "Evening Movie">><</link>>
<</if>>
[[Leave|House Map]]<<set $world.location to "Home - Living Room">>
<<run setup.advanceTime(1)>>
<<set $today.livingDone to true>>
<p>Daisy settles onto the sofa and puts on a movie, happy to relax for a while.</p>
<img src="Images/Day 1/D19.gif" alt="">
[[Leave|House Map]]
/* ═══════════════════════════════════════════
POST-OFFICE HEAT — same day as Jayden catching her (Office Urge /
Blackmail). She comes home burning. Ride James or finish in the
shower, then James confesses he mixed an aphrodisiac into her
morning coffee. (The office coffee was also spiked — she doesn't
know that. He thinks it was only him.)
═══════════════════════════════════════════ */<<if $jamesUrge.done>>
<<goto "House Map">>
<</if>>
<<set $world.location to "Home - Living Room">>
<<run setup.markJamesEvent()>>
<<set $jamesUrge.wentThroughJames to false>>
<p>Daisy pushed open the front door with shaking hands. The click of the lock seemed loud in the quiet house. The heat that started at her desk — the stall, Jayden walking in, the walk of shame out of the building — hadn't eased. If anything, the ride home had made it worse.</p>
<p>The living room lamp was on, casting a warm glow over James sprawled on the sofa, remote in hand, some mindless action movie flickering on the screen. He glanced up, smiling lazily.</p>
<<speech "James">>Hey, babe. Long day?<</speech>>
<p>His voice was casual, affectionate — but the moment Daisy saw him, stretched out in sweatpants and a worn t-shirt, something inside her snapped taut. Her body clenched hard, a fresh wave of heat flooding her already-soaked underwear. She stood frozen in the doorway, bag still on her shoulder, thighs pressed tightly together.</p>
<img src="Images/3.1/3.jpg" alt="">
<p>Her nipples ached against her bra. Every pulse of her heartbeat seemed to land between her legs. She still didn't know why it had started, and she couldn't bring herself to tell him about the stall.</p>
[[Ride him hard and fast until the ache finally shatters|James Urge Ride]]
[[Slip away and finish in the shower instead|James Urge Bathroom]]<<set $jamesUrge.wentThroughJames to true>>
<p>Daisy let her bag slip from her shoulder, hitting the floor with a soft thud. James looked up again, eyebrows lifting at the sound.</p>
<<speech "James">>Everything okay?<</speech>>
<p>Instead of answering, she moved toward him. She crossed the room in quick, unsteady steps, pulse thundering in her ears, and climbed onto the sofa — knees straddling his hips, skirt riding up her thighs.</p>
<img src="Images/3.1/8.gif" alt="">
<<speech "James">>Dais—<</speech>>
<p>The word dissolved into a rough exhale when she ground down against him, feeling him already swelling under the thin fabric of his sweatpants. She was soaked — had been for what felt like hours — and the heat of her dragged over him through their clothes.</p>
<p><em>Finally.</em></p>
[[Ride him|James Urge Ride Finish]]<p>Daisy climbed fully onto him, heart racing. She reached down, freed him from his sweatpants, and guided him into her — a soft moan as she sank down and took him completely.</p>
<p>But before she could even start moving, James groaned loudly, his hands gripping her thighs tightly.</p>
<img src="Images/3.1/11.gif" alt="">
<<speech "James">>Ahh— fuck—<</speech>>
<p>He twitched hard inside her and came almost instantly — just seconds after she'd put him in. Daisy froze, feeling the warm spurts filling her far too quickly.</p>
<p>She stayed still for a moment, trying her best to hide the disappointment. Forcing a small, gentle smile, she leaned down and kissed his forehead softly.</p>
<<speech "Daisy">>That was quick, baby…<</speech>>
<p>James looked slightly embarrassed but didn't say anything. Daisy carefully lifted herself off him, his release already leaking down her thigh. Without showing how unfinished and frustrated she felt, she got off the couch.</p>
<<speech "Daisy">>I'll just go clean up.<</speech>>
<<stat "player.loveJames" 1>>
[[Go clean up|James Urge Bathroom]]<<if not $jamesUrge.wentThroughJames>>
<p>She slipped down the hall, locked the bathroom, and turned the shower on — cover for the sound, steam for the heat she couldn't shake. The cool tile under her feet did nothing.</p>
<<else>>
<p>She slipped down the hall, locked the bathroom, and turned the shower on. The ache still hadn't eased. If anything, she felt more frustrated after being so close to James.</p>
<</if>>
<p>She sat on the edge of the tub, skirt hiked up around her hips, and yanked her soaked panties down her legs, kicking them aside. The air hit her bare skin — swollen, glistening, flushed with need. A thin strand of arousal clung to the fabric as it fell away.</p>
<p>She pulled out her phone with trembling fingers, opened a private browser, and typed in the filthiest site she knew. The video loaded almost instantly: a woman on her knees, taking a thick cock deep in her throat, then bent over and fucked hard from behind.</p>
<img src="Images/3.1/4.gif" alt="">
<p>The sounds — wet slaps, breathy moans — filled her earbuds as she plugged them in. Daisy spread her thighs wider, one foot propped on the toilet lid, exposing herself completely. Her fingers found her clit immediately — slick, swollen, throbbing under the lightest touch.</p>
<img src="Images/3.1/5.gif" alt="">
<p>Within seconds she was rubbing harder, faster, two fingers sliding through her soaked folds, dipping inside just enough to feel how empty she was before returning to her clit.</p>
<img src="Images/3.1/6.gif" alt="">
[[Cum|James Urge Bathroom Cum]]<p>She rubbed furiously now — short, desperate strokes right over her clit, breath coming in ragged pants.</p>
<p><em>Please… please…</em></p>
<p>The orgasm hit suddenly, violently.</p>
<img src="Images/3.1/7.gif" alt="">
<p>Her whole body seized, thighs clamping around her hand as wave after wave crashed through her. She sat there afterward for a long moment, breathing hard — sated for now, but no closer to understanding where any of it came from.</p>
<<speech "Daisy">>(...What is <em>wrong</em> with me lately?)<</speech>>
[[Pull herself together|James Urge Confession]]<<set $world.location to "Home - Living Room">>
<<if $jamesUrge.wentThroughJames>>
<p>Daisy cleaned up, pulled her clothes back into place, and walked back out to the living room. James was still on the sofa, looking a little sheepish about how fast everything had gone. She sank down beside him anyway — body finally loose, the lingering warmth of her orgasm making her limbs heavy.</p>
<<else>>
<p>Daisy cleaned up, pulled her clothes back into place, and walked back out to the living room like nothing had happened. James was still on the sofa, remote forgotten in his lap. She sat down beside him, cheeks still flushed, trying to look normal.</p>
<</if>>
<p>She could feel his steady heartbeat as she leaned against him. He slowly traced circles on her back. After a long, quiet moment, he spoke softly.</p>
<<speech "James">>Daisy… what happened earlier?<</speech>>
<p>Daisy lifted her head, cheeks still flushed. She hesitated, then let it spill out — the sudden, overwhelming heat that hit with no warning, the struggle to focus, the damp ache that wouldn't quit, how humiliating and confusing the whole day had felt.</p>
<p>James listened, his expression shifting from amusement to something unreadable. When she finished, he exhaled slowly, running a hand through his hair.</p>
<<speech "James">>I'm really, really sorry, baby… but that was me.<</speech>>
<p>Daisy blinked.</p>
<<speech "Daisy">>What?<</speech>>
<<speech "James">>I mixed something into your coffee this morning. An aphrodisiac. The stuff we bought online last month, remember? The one that's supposed to make everything… intense.<</speech>>
<p>She went cold at his words. Pulling away from him, she sat up straight.</p>
<img src="Images/3.1/12.gif" alt="">
<<speech "Daisy">>You did WHAT?<</speech>>
[[Continue|James Urge Fight]]<p>James sat up too, raising his hands as he tried to calm her.</p>
<<speech "James">>I wanted a quickie before you left! You looked so hot, and we hadn't fooled around in days. I thought it'd kick in fast, we'd have some fun, and you'd go out with a smile. But you grabbed your coffee and ran out early — I didn't get a chance to—<</speech>>
<p>Daisy's face went from shocked to furious in seconds.</p>
<<speech "Daisy">>You dosed me without asking? You made me walk around all day dripping wet, fighting not to touch myself, humiliated and confused — because you wanted a quick fuck?<</speech>>
<p>Her voice grew louder and shook with anger. James winced.</p>
<<speech "James">>Baby, I didn't think it would be that strong—<</speech>>
<p>She swung her hand and slapped his shoulder — hard.</p>
<<speech "Daisy">>Don't "baby" me!<</speech>>
<p>She slapped him again, then struck his chest and arms wherever she could reach. She wasn't playing; she was angry.</p>
<img src="Images/3.1/13.gif" alt="">
<p>James tried to catch her wrists, but she twisted free, shoving at him.</p>
<<speech "Daisy">>You absolute idiot! I thought something was wrong with me! I thought I was losing my mind!<</speech>>
<p>Tears of rage pricked her eyes.</p>
<<speech "Daisy">>You're sleeping on the couch tonight. Maybe tomorrow night too.<</speech>>
<<speech "James">>Daisy, please—<</speech>>
<<speech "Daisy">>No.<</speech>>
<p>She stood and pulled her clothes straight. When she spoke again, her voice was cold.</p>
<<speech "Daisy">>You're staying out here. And you'll sleep here until I'm ready to let you back in.<</speech>>
<p>He slowly got to his feet, unable to meet her eyes.</p>
<<speech "James">>I'm so sorry. I fucked up. I'll sleep on the couch. I'll do anything to make it up to you.<</speech>>
<<speech "Daisy">>Go.<</speech>>
<p>James grabbed a pillow and a throw blanket from the ottoman, pausing at the doorway.</p>
<<speech "James">>I love you.<</speech>>
<p>Daisy didn't answer. She just glared until he disappeared back toward the sofa. Only then did she let out a shaky breath, anger still simmering hot under her skin — but beneath it, a tiny, exhausted part of her wondered just how long she'd make him sleep out there.</p>
<<set $jamesUrge.done to true>>
<<set $jamesUrge.confessed to true>>
[[Leave|House Map]]<<set $world.location to "Home - Living Room">>
<<set $world.time to "Evening">>
<<run setup.markJamesEvent()>>
<img src="Images/Day 1/D112.gif" alt="">
<p>Daisy finds James on the sofa, looking for something to watch. She sits beside him as he picks a romance film with a few steamy scenes.</p>
<<speech "Daisy">>Oh! This one looks a bit steamy.<</speech>>
<<speech "James">>One steamy film for the lady!<</speech>>
<p>She laughs as he presses play, and they settle in together. When the steamy scenes begin, James leans closer and guides her hand to the growing bulge in his pants.</p>
<<speech "James">>Watching them is giving me ideas. We could have a little fun of our own.<</speech>>
<p>Daisy looks down and thinks it over.</p>
[[Take him up on it|Evening Movie Yes]]
[[Just watch the movie|Evening Movie No]]<p>Daisy laughs at his corny line and kisses him, touching him playfully. She pulls his cock free and starts stroking it as their kiss grows deeper.</p>
<img src="Images/Day 1/D113.webp" alt="">
<<speech "James">>Mm… I'd love those lips of yours around my cock right now.<</speech>>
[[Give him head|Evening Movie Head]]<p>With a wink, she takes him into her mouth and moves her head up and down while James gropes her ass.</p>
<img src="Images/Day 1/D114.gif" alt="">
<<speech "James">>Babe… I'm about to cum. Open your mouth for me — I wanna see you swallow.<</speech>>
[[Open your mouth|Evening Movie Finish]]<p>James moans as Daisy takes him into her mouth and swallows every drop. She looks up with a smile, and he leans down to kiss her forehead.</p>
<img src="Images/Day 1/D115.gif" alt="">
<<speech "Daisy">>Now that was a good movie. (smirks)<</speech>>
<<speech "Daisy">>We should get some sleep now.<</speech>>
<<stat "player.loveJames" 1>>
<<set $today.eveningDone to true>>
<<set $town.movieNightDone to true>>
[[Sleep|Sleep]]<<speech "Daisy">>Sorry, baby, not tonight. I'm worn out from walking around all day.<</speech>>
<p>James frowns, disappointed, but nods.</p>
<<speech "James">>It's okay. You'll be making it up to me next time, though.<</speech>>
<<speech "Daisy">>Thanks, baby.<</speech>>
<p>When the credits roll, they both agree it's time for bed.</p>
<<speech "Daisy">>We should get some sleep now.<</speech>>
<<stat "player.loveJames" -1>>
<<set $today.eveningDone to true>>
<<set $town.movieNightDone to true>>
[[Sleep|Sleep]]<<set $world.time to "Evening">>
<<set $world.location to "Home - Hall">>
<<run setup.markJamesEvent()>>
<p>Daisy lets herself in, expecting the usual quiet — but James is nowhere in sight, and a folded note sits on the hall table instead.</p>
<img src="Images/Day 3/d36.webp" alt="">
[[Read it|Anniversary Letter Text]]<div class="speech" style="border-left-color: var(--accent);">
<em>My Dearest Daisy,<br><br>
I can't believe how far we've come since the day you walked into my life. From our first conversation to every ordinary day since, you've made it all feel like something worth waking up for.<br><br>
Thank you for being the love of my life. I've left something for you in our bedroom — grab it and meet me at the door. I can't wait to see your smile.<br><br>
With all my love,<br>
James</em>
</div>
<div id="can">
<<link "I completely forgot our anniversary">><<replace "#can">>
<<speech "Daisy">>Oh god — I forgot. I'm just glad he didn't.<</speech>>
<<stat "player.loveJames" -1>>
[[Bedroom|Anniversary Bedroom]]
<</replace>><</link>>
<<link "I'm glad he remembered — I was worried I'd have to remind him">><<replace "#can">>
<<speech "Daisy">>He never fails to surprise me. I should see what he's planned.<</speech>>
<<stat "player.loveJames" 2>>
[[Bedroom|Anniversary Bedroom]]
<</replace>><</link>>
</div><p>A red dress lies on the bed with its tags still on. Daisy picks it up and looks it over before slipping it on.</p>
<img src="Images/Day 3/d37.webp" alt="">
<<speech "Daisy">>Oh… he picked a good one. I look great.<</speech>>
[[Meet him at the door|Anniversary Car]]<p>James waits outside in the car. With his black coat and neatly styled hair, he looks smarter than he has in months.</p>
<img src="Images/Day 3/d38.jpg" alt="">
<p>He steps out to open her door, a bouquet already in hand.</p>
<img src="Images/Day 3/d39.webp" alt="">
<<speech "Daisy">>James… you planned all this for me?<</speech>>
<<speech "James">>A woman like you deserves it, sweetheart.<</speech>>
<<speech "Daisy">>So what else is in store tonight?<</speech>>
<<speech "James">>Wait and see.<</speech>>
[[Continue|Anniversary Dinner]]<p>James has booked a table somewhere nicer than they would usually choose. Candles light the table, soft music plays, and Daisy's menu has no prices.</p>
<img src="Images/Day 3/d310.jpeg" alt="">
<<speech "Daisy">>This place looks expensive.<</speech>>
<<speech "James">>Forget the price. Just be here with me.<</speech>>
<p>They talk for hours, more relaxed than either expected to feel on a work night. When the bill finally comes, James reaches for it without a second thought.</p>
<img src="Images/Day 3/d311.gif" alt="">
<<speech "Waiter">>That's $120, sir.<</speech>>
<div id="can">
<<link "Split the bill">><<replace "#can">>
<<speech "Daisy">>We're splitting this, James.<</speech>>
<<speech "James">>Daisy, come on, let me get it.<</speech>>
<<speech "Daisy">>Nope. Here's $60.<</speech>>
<<speech "James">>...Okay. Thank you.<</speech>>
<<set $player.money -= 60>>
<<stat "player.loveJames" 1>>
[[Home|Anniversary Home]]
<</replace>><</link>>
<<link "Let James pay">><<replace "#can">>
<<speech "James">>Keep your money, sweetheart. Seeing you smile is enough for me.<</speech>>
<<speech "Daisy">>Thank you for tonight, James. I mean it.<</speech>>
[[Home|Anniversary Home]]
<</replace>><</link>>
</div><p>Back home, still glowing from the night, Daisy pulls James into a kiss before either of them has even taken their coat off.</p>
<img src="Images/Day 3/d312.gif" alt="">
<<speech "Daisy">>Thank you, thank you, thank you for tonight.<</speech>>
<<speech "James">>Anytime. We should get some sleep, though. We have work in the morning.<</speech>>
<<speech "Daisy">>Good night, baby.<</speech>>
<<set $annv.done to true>>
<<set $today.eveningDone to true>>
[[Sleep|Sleep]]<<set $world.location to "Home - Bedroom">>
<p>Daisy thinks through a few gift ideas, then gives up. None of them feels right for Christine.</p>
<img src="Images/Day 8/d82.gif" alt="">
<<speech "Daisy">>It's so hard to find a present for her. I should just ask what she wants.<</speech>>
<p>She opens her phone and asks Christine what she'd like as a gift.</p>
<div id="party-gift-phone-inline" class="oq-inline-phone"></div>
<div id="party-gift-after" hidden>
<<speech "Daisy">>What!! A monster dragon? What even is that? I should look for it at the adult shop.<</speech>>
<p class="scene-meta">Phone Notes: go to the Mall and buy Christine's gift at the Adult Shop before tonight.</p>
[[Back to bedroom|Bedroom]]
</div>
<<done>>
<<run setup.Phone.playInlinePartyGift("party-gift-phone-inline")>>
<</done>>
/* ── Sunday Evening: get ready ── */<<set $world.location to "Home - Bedroom">>
<<if $office.partyStarted and not $office.partyDone>>
<<goto "Party Hall">>
<</if>>
<<if not $office.partyGiftBought or $office.partyDone or setup.dayName() is not "Sunday" or $world.time is not "Evening">>
<<goto "Bedroom">>
<</if>>
<<speech "Daisy">>I've done everything I needed today. Time to get ready for the party.<</speech>>
<p>She picks a dress that helps her feel at ease around strangers and does her makeup, taking a moment to calm her nerves before the party.</p>
<img src="Images/Daisy/party1.gif" alt="">
<<speech "Daisy">>I'm ready. I hope tonight goes well.<</speech>>
<<set $office.partyStarted to true>>
<<set $office.partyFoundChristine to false>>
<<set $office.partyDrinkChoice to "">>
<<set $office.partyBottleHunt to false>>
<<set $office.partyBottleGot to false>>
<<set $office.partyShowDone to false>>
<<set $office.partyHelpBj to "">>
<<set $office.partyHelpIn to "">>
<<set $office.partyHelpFuck to "">>
<<set $office.partyHelped to "">>
<<set $office.partyStall1 to false>>
<<set $office.partyStall2 to false>>
<<set $office.partyPath to "">>
[[Leave for the party|Party Arrival]]<<set $world.location to "Christine's Party - Hall">>
<<set $world.time to "Night">>
<<set $today.eveningDone to true>>
<img src="Images/Christine/partyhall.jpg" alt="">
<p>Loud music and voices fill the hall, with bursts of drunken laughter rising above them. Daisy looks around for Christine, but she isn't at the door. She must be somewhere inside.</p>
<p class="scene-meta">Find Christine. The living room is a good place to start.</p>
[[Hall|Party Hall]]
/* ── Hall hub ── */<<set $world.location to "Christine's Party - Hall">>
<img src="Images/Christine/partyhall.jpg" alt="">
<<if not $office.partyFoundChristine>>
<<speech "Daisy">>(I need to find Christine. I'll check the living room first.)<</speech>>
<<elseif $office.partyBottleHunt and not $office.partyBottleGot>>
<<speech "Daisy">>(She wants that bottle. I should look through the rooms.)<</speech>>
<<elseif $office.partyShowDone>>
<<speech "Daisy">>(I can look around a little more… or I can just go home.)<</speech>>
<<else>>
<<speech "Daisy">>(I should look around.)<</speech>>
<</if>>
<div class="loc-grid">
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Living room</span><span class="loc-sub">Where the noise is</span></span>' "Party Living Room">><</link>>
<<if $office.partyBottleHunt>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Kitchen</span><span class="loc-sub">Drinks</span></span>' "Party Kitchen">><</link>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Bathroom</span><span class="loc-sub">Down the hall</span></span>' "Party Bathroom">><</link>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Room 1</span><span class="loc-sub">Closed door</span></span>' "Party Room 1">><</link>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Room 2</span><span class="loc-sub">Closed door</span></span>' "Party Room 2">><</link>>
<</if>>
<<if $office.partyShowDone>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Leave</span><span class="loc-sub">Go home</span></span>' "Party Leave Home">><</link>>
<</if>>
</div>
/* ── Living room ── */<<set $world.location to "Christine's Party - Living Room">>
<<if not $office.partyFoundChristine>>
<<goto "Party Living First">>
<<elseif $office.partyBottleGot and not $office.partyShowDone>>
<<goto "Party Living Return">>
<<else>>
<<goto "Party Living After">>
<</if>><<set $world.location to "Christine's Party - Living Room">>
<<set $office.partyFoundChristine to true>>
<img src="Images/Christine/partylivingroom.jpeg" alt="">
<p>Christine sits on the sofa, flushed and holding a drink. She talks loudly to anyone who will listen, then breaks into a wide smile when she spots Daisy.</p>
<<speech "Christine">>Daisy! Finally, you're here. Come and sit with me. Have a drink.<</speech>>
<<speech "Daisy">>I brought you something.<</speech>>
<p>She hands over the bag. Christine peeks inside and gives a happy squeal at the monster dragon, then sets the gift on the floor.</p>
<<speech "Christine">>You're a doll. Now drink. Don't stand there like somebody's wife.<</speech>>
<<speech "Daisy">>I don't drink. You know that.<</speech>>
<<speech "Christine">>Just one little drink? It's my party. Please. I've already had a few, and I don't want to drink alone.<</speech>>
<p>She holds out a glass with a sweet smile, though her unfocused eyes show how drunk she is.</p>
[[Take one drink|Party Living Sip]]
[[Still no|Party Living Sober]]<<set $world.location to "Christine's Party - Living Room">>
<<if $office.partyDrinkChoice is not "">>
<<goto "Party Living Bottle Ask">>
<</if>>
<<stat "player.corruption" 1>>
<<set $office.partyDrinkChoice to "sip">>
<img src="Images/Christine/drink3.gif" alt="">
<p>Daisy takes a sip to stop her asking. The drink burns her throat, and Christine claps as though she's won a prize.</p>
<<speech "Christine">>See? That wasn't so bad. You're so pretty when you stop being good.<</speech>>
[[Continue|Party Living Bottle Ask]]<<set $world.location to "Christine's Party - Living Room">>
<<if $office.partyDrinkChoice is not "">>
<<goto "Party Living Bottle Ask">>
<</if>>
<<stat "player.loveJames" 1>>
<<set $office.partyDrinkChoice to "refuse">>
<p>Daisy keeps her hands to herself. Christine pouts, then laughs too hard at her own disappointment.</p>
<<speech "Daisy">>I'm good. Really.<</speech>>
<<speech "Christine">>Fine. Be boring. I still love you.<</speech>>
[[Continue|Party Living Bottle Ask]]<<set $world.location to "Christine's Party - Living Room">>
<img src="Images/Christine/partylivingroom.jpeg" alt="">
<p>Christine drains her glass and looks around with a frown, trying to find the bottle.</p>
<<speech "Christine">>Wait, there was another bottle. The good one. Where did it go? My glass is empty, Daisy. Please find it for me. I can barely stand.<</speech>>
<<speech "Daisy">>Christine — you're already drunk.<</speech>>
<<speech "Christine">>That's WHY. Please. It was around. Somebody took it. Look in the rooms. I'll be right here. Don't leave me dry at my own party.<</speech>>
<<set $office.partyBottleHunt to true>>
<p class="scene-meta">Search the party for Christine's bottle.</p>
[[Back to the hall|Party Hall]]<<set $world.location to "Christine's Party - Living Room">>
<img src="Images/Christine/partysex5.gif" alt="">
<p>The living room has changed. Christine is on the sofa with three men on her — one in her mouth, two using the rest of her like the party already decided she was the entertainment. She doesn't look surprised. She looks pleased and unfocused at the same time.</p>
<<speech "Daisy">>Christine—?<</speech>>
<p>Christine spots the bottle, gives a happy drunken cry, and reaches for it with both hands.</p>
<img src="Images/Christine/drink2.gif" alt="">
<p>She gulps down the whole bottle, spilling some as she drinks. Coughing and laughing, she wipes her mouth with the back of her hand.</p>
<<speech "Christine">>Fuck. That's it. Daisy. Come here. Fuck with me. Please. You'd look so good with them.<</speech>>
<<speech "Daisy">>No. I'm not doing that. I have a husband.<</speech>>
<<speech "Christine">>Don't start. You're so hot and you never let anyone see it.<</speech>>
<p>She leans away from the man, grabs Daisy's dress, and yanks it down. Cool air hits Daisy's bare chest as all three men turn to stare.</p>
<img src="Images/Christine/mansion1.gif" alt="">
<<speech "Christine">>Boys — look how hot she is.<</speech>>
<p>Daisy yanks the dress back up, face burning, and steps out of reach.</p>
<<speech "Daisy">>I'm going. This is— I'm going.<</speech>>
<<speech "Christine">>No. Stay. Stay and watch me. That's all. You don't have to do anything. Just watch. Please. I want you here.<</speech>>
[[Continue|Party Living Bj Ask]]<<set $world.location to "Christine's Party - Living Room">>
<<if $office.partyHelpBj is not "">>
<<goto "Party Living In Ask">>
<</if>>
<img src="Images/Christine/partysex1.gif" alt="">
<p>Christine drops to her knees in front of one of them. He's thick enough that she has to work at it, and she's too drunk to keep her own head where she wants it. She gets a few sloppy inches, loses him, tries again.</p>
<<speech "Christine">>Daisy. My head. Hold me. Push me on it. I keep missing. Please.<</speech>>
[[Help her|Party Living Bj Yes]]
[[Don't|Party Living Bj No]]<<set $world.location to "Christine's Party - Living Room">>
<<if $office.partyHelpBj is not "">>
<<goto "Party Living In Ask">>
<</if>>
<<stat "player.corruption" 1>>
<<stat "player.loveJames" -1>>
<<set $office.partyHelpBj to "yes">>
<img src="Images/Christine/Party/helping_bj_bbc.gif" alt="">
<p>Daisy steps behind her and puts her hands in Christine's hair. She doesn't take him herself — she just holds Christine's head steady and pushes her onto him until Christine's mouth is full and her eyes are wet. Christine moans around it like Daisy did the hard part.</p>
<<speech "Christine">>Don't let go. Keep me there.<</speech>>
[[Continue|Party Living In Ask]]<<set $world.location to "Christine's Party - Living Room">>
<<if $office.partyHelpBj is not "">>
<<goto "Party Living In Ask">>
<</if>>
<<stat "player.loveJames" 1>>
<<set $office.partyHelpBj to "no">>
<p>Daisy doesn't touch her. One of the guys does it instead — a fist in Christine's hair, no patience. Christine takes it anyway, gagging, still looking at Daisy like the refusal was the insult.</p>
<<speech "Christine">>Fine. Be useful later then.<</speech>>
[[Continue|Party Living In Ask]]<<set $world.location to "Christine's Party - Living Room">>
<<if $office.partyHelpIn is not "">>
<<goto "Party Living Fuck Ask">>
<</if>>
<p>They get her onto all fours on the sofa. The same man moves behind her, but she's too drunk to guide him in. She reaches between her legs and misses, laughing at first, then growing frustrated.</p>
<img src="Images/Christine/partysex3.gif" alt="">
<<speech "Christine">>Daisy, use your hands. I can't see what I'm doing. Please help me get him inside.<</speech>>
[[Put it in|Party Living In Yes]]
[[Don't|Party Living In No]]<<set $world.location to "Christine's Party - Living Room">>
<<if $office.partyHelpIn is not "">>
<<goto "Party Living Fuck Ask">>
<</if>>
<<stat "player.corruption" 1>>
<<stat "player.loveJames" -1>>
<<set $office.partyHelpIn to "yes">>
<img src="Images/Christine/Party/putting_dick_in_bbc.gif" alt="">
<p>Daisy kneels at the edge of the sofa. She takes him — heavy, slick — and guides the head to Christine. She has to hold him there and push, slow, until Christine's body takes him. Christine's mouth falls open. Daisy's hand is still on him when he bottoms out.</p>
<<speech "Christine">>Yes. Leave it. Fuck — leave it in.<</speech>>
[[Continue|Party Living Fuck Ask]]<<set $world.location to "Christine's Party - Living Room">>
<<if $office.partyHelpIn is not "">>
<<goto "Party Living Fuck Ask">>
<</if>>
<<stat "player.loveJames" 1>>
<<set $office.partyHelpIn to "no">>
<p>Daisy keeps her hands in her lap. He finds it himself on the next shove, rougher than a hand would have been. Christine yelps, then moans, and still throws Daisy a drunk, betrayed look over her shoulder.</p>
<<speech "Christine">>You could have been nice about it.<</speech>>
[[Continue|Party Living Fuck Ask]]<<set $world.location to "Christine's Party - Living Room">>
<<if $office.partyHelpFuck is not "">>
<<goto "Party Living Watch">>
<</if>>
<p>With him inside her, she struggles to stay on all fours. Her arms buckle and her knees start to slide, making it hard for him to keep going.</p>
<<speech "Christine">>Hold me. Daisy — hold me up. Help him fuck me. I keep falling. Please.<</speech>>
[[Hold her|Party Living Fuck Yes]]
[[Don't|Party Living Fuck No]]<<set $world.location to "Christine's Party - Living Room">>
<<if $office.partyHelpFuck is not "">>
<<goto "Party Living Watch">>
<</if>>
<<stat "player.corruption" 1>>
<<stat "player.loveJames" -1>>
<<set $office.partyHelpFuck to "yes">>
<<set $office.partyHelped to "yes">>
<img src="Images/Christine/Party/helping_to_fuck.gif" alt="">
<p>Daisy supports Christine's hips, holding her steady so he can keep fucking her. Each thrust pushes against Daisy's hands. Though she isn't taking part in the same way, she knows she's helping them continue.</p>
<<speech "Christine">>That's it. Don't you dare let go.<</speech>>
[[Watch the rest|Party Living Watch]]<<set $world.location to "Christine's Party - Living Room">>
<<if $office.partyHelpFuck is not "">>
<<goto "Party Living Watch">>
<</if>>
<<stat "player.loveJames" 1>>
<<set $office.partyHelpFuck to "no">>
<<if $office.partyHelpBj is "yes" or $office.partyHelpIn is "yes">>
<<set $office.partyHelped to "yes">>
<<else>>
<<set $office.partyHelped to "refuse">>
<</if>>
<p>Daisy steps back. The other two catch Christine under the arms and hold her like furniture while he finishes the job. Christine takes it. She doesn't look at Daisy this time.</p>
[[Watch the rest|Party Living Watch]]<<set $world.location to "Christine's Party - Living Room">>
<img src="Images/Christine/partysex6.webp" alt="">
<p>Christine keeps going. One man, then another. She doesn't ask Daisy again. She just performs like Daisy is the audience she paid for, and the living room fills up with people who want a turn.</p>
<img src="Images/Party/christine2.gif" alt="">
<p>Daisy struggles to look away. She's too flushed to face the people in the hall, so she stays where she is. She watches Christine take the men, barely hearing the music anymore.</p>
<img src="Images/Party/christine4.gif" alt="">
<p>When the crowd finally thins, Christine lies worn out, smiling at the ceiling. Daisy smooths her dress, but her hands won't stop shaking.</p>
<<set $office.partyShowDone to true>>
<p class="scene-meta">She can look around the rest of the party, or go home.</p>
[[Hall|Party Hall]]<<set $world.location to "Christine's Party - Living Room">>
<img src="Images/Christine/partylivingroom.jpeg" alt="">
<<if $office.partyShowDone>>
<p>Christine is still on the sofa, half-asleep, someone laughing over her like the night isn't done with her. Daisy doesn't need to see more of that.</p>
<<elseif $office.partyBottleHunt>>
<p>Christine is where Daisy left her, glassy and impatient.</p>
<<speech "Christine">>Did you find it? Please tell me you found it.<</speech>>
<<if $office.partyBottleGot>>
[[Give her the bottle|Party Living Return]]
<<else>>
[[Keep looking|Party Hall]]
<</if>>
<<else>>
<p>Purple light fills the noisy living room. There is nothing else for Daisy to do here right now.</p>
<</if>>
[[Back to the hall|Party Hall]]
/* ── Kitchen ── */<<set $world.location to "Christine's Party - Kitchen">>
<img src="Images/Christine/partykitchen.jpeg" alt="">
<<if $office.partyBottleHunt and not $office.partyBottleGot>>
<p>Glasses and open bottles cover the counters. Daisy checks them, but none matches the bottle Christine was so keen to find.</p>
<<speech "Guy1">>You looking for a drink, girl?<</speech>>
<<speech "Daisy">>A specific bottle. For Christine.<</speech>>
<<speech "Guy2">>If it's not in here, somebody walked off with it. Try the rooms.<</speech>>
<<else>>
<p>Spilled drinks and plastic cups cover the kitchen. Guests keep coming in to pour themselves more.</p>
<</if>>
[[Back to the hall|Party Hall]]
/* ── Bathroom ── */<<set $world.location to "Christine's Party - Bathroom">>
<img src="Images/Christine/partytoilet.jpg" alt="">
<<if $office.partyBottleHunt and not $office.partyBottleGot>>
<p>Smoke fills the bathroom, and people are having sex in the stalls. Daisy looks around, but there is no bottle.</p>
<div class="loc-grid">
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">1st stall</span><span class="loc-sub">Occupied</span></span>' "Party Stall 1">><</link>>
<<if $office.partyStall1>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">2nd stall</span><span class="loc-sub">Try the next one</span></span>' "Party Stall 2">><</link>>
<</if>>
</div>
<<elseif $office.partyShowDone>>
<p>The bathroom is still full of smoke and people doing everything but using it as a bathroom.</p>
<div class="loc-grid">
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">1st stall</span><span class="loc-sub">Occupied</span></span>' "Party Stall 1">><</link>>
<<if $office.partyStall1>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">2nd stall</span><span class="loc-sub">Try the next one</span></span>' "Party Stall 2">><</link>>
<</if>>
<<if $office.partyStall2>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">3rd stall</span><span class="loc-sub">Last one</span></span>' "Party Stall 3">><</link>>
<</if>>
</div>
<<else>>
<p>There is nothing for her to do in here right now.</p>
<</if>>
[[Back to the hall|Party Hall]]<<set $world.location to "Christine's Party - Bathroom">>
<img src="Images/Christine/partytoilet1.gif" alt="">
<p>She opens the first stall, sees it's occupied, and quickly backs away.</p>
<<speech "Daisy">>Sorry.<</speech>>
<<set $office.partyStall1 to true>>
[[Back|Party Bathroom]]<<set $world.location to "Christine's Party - Bathroom">>
<<if not $office.partyStall1>>
<<goto "Party Bathroom">>
<</if>>
<img src="Images/Christine/partytoilet2.jpg" alt="">
<p>A girl tied to the seat, gagged, watching Daisy like this is part of it. Daisy leaves her there.</p>
<<speech "Daisy">>(I'm not getting involved.)<</speech>>
<<set $office.partyStall2 to true>>
[[Back|Party Bathroom]]<<set $world.location to "Christine's Party - Bathroom">>
<<if not $office.partyStall2>>
<<goto "Party Bathroom">>
<</if>>
<img src="Images/Christine/partytoilet4.jpg" alt="">
<p>The stall is empty and dirty. There is no bottle. She can use the toilet if she needs to, then leave.</p>
[[Back|Party Bathroom]]
/* ── Rooms ── */<<set $world.location to "Christine's Party - Room 1">>
<<if $office.partyBottleHunt and not $office.partyBottleGot>>
<<goto "Party Room 1 Bottle">>
<</if>>
<img src="Images/Christine/partysex11.webp" alt="">
<p>The orgy didn't stop for her. Someone waves her in. She does not go in.</p>
<<speech "Girl">>You staying or what?<</speech>>
<<speech "Daisy">>No.<</speech>>
[[Back to the hall|Party Hall]]<<set $world.location to "Christine's Party - Room 1">>
<img src="Images/Christine/partysex2.gif" alt="">
<p>An orgy is taking place in the dim room. Several men surround a girl on the bed. Daisy spots Christine's bottle being used as a toy in the girl's ass, its label still attached.</p>
<<speech "Daisy">>(You've got to be kidding me.)<</speech>>
<p>Someone laughs, but no one stops her. She takes an uneasy breath, grips the bottle, and slowly pulls it out. The girl moans like Daisy was part of the game. Daisy does not look at her face.</p>
<img src="Images/Christine/partysex11.webp" alt="">
<p>The bottle is wet and warm in her hand. She wants to drop it. She doesn't.</p>
<<set $office.partyBottleGot to true>>
<<speech "Daisy">>(I have to get this back to her and then I am done being helpful.)<</speech>>
[[Take it to Christine|Party Living Return]]<<set $world.location to "Christine's Party - Room 2">>
<img src="Images/Christine/partysex1.gif" alt="">
<<if $office.partyBottleHunt and not $office.partyBottleGot>>
<p>A girl kneels among men who barely notice the open door. Daisy looks around, but the bottle isn't here.</p>
<<speech "Guy1">>Get out or get in line.<</speech>>
<<speech "Daisy">>I'm looking for a bottle.<</speech>>
<<speech "Guy2">>Not here.<</speech>>
<<else>>
<p>They're still at it. Daisy leaves before anyone can ask her to join.</p>
<</if>>
[[Back to the hall|Party Hall]]
/* ── Leave ── */<<set $world.location to "Home - Hall">>
<<set $office.partyDone to true>>
<<set $office.partyPath to "watch">>
<<run setup.markJamesEvent()>>
<p>The night air is a relief she didn't know she needed. James meets her at the door with a hug that still feels like home.</p>
<<if $office.partyHelped is "yes">>
<p>The hug lasts a second too long. He goes still against her, then leans back, eyes on her dress.</p>
<<speech "James">>Daisy. What is that?<</speech>>
<p>She looks down at a pale, wet smear on her dress. It isn't wine. Some of the mess got on her while she was helping Christine, and she hadn't noticed it on the way home.</p>
<<speech "James">>That's not a drink.<</speech>>
[[Tell him what happened|Party Home Truth]]
[[Lie about it|Party Home Lie]]
<<else>>
<<speech "James">>So how was the party?<</speech>>
<<if $office.partyDrinkChoice is "sip">>
<<speech "Daisy">>It was loud. Christine got… carried away. I had one drink, and I'm tired. Let's go to bed.<</speech>>
<<else>>
<<speech "Daisy">>It was loud. Christine got… carried away. I'm tired. Let's go to bed.<</speech>>
<</if>>
<<speech "James">>Alright. I'm glad you're home.<</speech>>
<p>She tells him nothing about the living room or the bottle. She goes to bed with the music still ringing in her ears.</p>
<<set $office.partyHomeAskDone to true>>
<<set $office.partyHomeChoice to "none">>
[[Continue|Party Night End]]
<</if>><<set $world.location to "Home - Hall">>
<<speech "Daisy">>It's Christine. The party got… out of hand. She asked me to help her with some guys. I did. Some of it got on me. I wasn't— I didn't do what she was doing. I just helped her.<</speech>>
<p>James stares at the stain, then at her.</p>
<<speech "James">>You helped her. With guys. And came home like this.<</speech>>
<<speech "Daisy">>I know how it looks. I just wanted to leave.<</speech>>
<<speech "James">>…Go wash. Please.<</speech>>
<<set $office.partyHomeAskDone to true>>
<<set $office.partyHomeChoice to "truth">>
<p>She leaves out the details of the living room and goes to bed with the music still ringing in her ears.</p>
[[Continue|Party Night End]]<<set $world.location to "Home - Hall">>
<<speech "Daisy">>Someone spilled a drink on me. It's a mess in there. I didn't notice until now.<</speech>>
<<speech "James">>Daisy. I've seen a spilled drink.<</speech>>
<<speech "Daisy">>I'm exhausted. Can we just go to bed?<</speech>>
<p>He stops asking, but keeps looking at the stain. After one last glance, he steps aside to let her pass.</p>
<<speech "James">>…Alright. I'm glad you're home.<</speech>>
<<stat "james.awareness" 1>>
<<set $office.partyHomeAskDone to true>>
<<set $office.partyHomeChoice to "lie">>
<p>She leaves out the details of the living room and goes to bed with the music still ringing in her ears.</p>
[[Continue|Party Night End]]<<run setup.advanceDay()>>
<<goto "Morning Wake">><<set $world.time to "Morning">>
<<set $world.location to "Home - Bedroom">>
<img src="Images/Daisy/sleep.jpeg" alt="">
<p>Daisy wakes slowly, still thinking about last night: the noise, Christine, and the rooms she wishes she hadn't entered. She gets up anyway. She still has work and the rest of her life to face.</p>
[[Get up|House Map]]<<set $world.location to "Town - Office">>
<<= setup.locBannerHtml("office")>>
<img src="Images/Office/office.jpg" alt="">
<p>Daisy is barely at her desk when Christine appears with two coffees and that look — the one that means she already knows something is off.</p>
<<speech "Christine">>Okay, what happened?<</speech>>
<<speech "Daisy">>Nothing. I'm fine.<</speech>>
<<speech "Christine">>Baby, you walked in like you'd been crying in the elevator. Don't "I'm fine" me.<</speech>>
<<speech "Daisy">>It's just… home stuff. James. I don't want to talk about it here.<</speech>>
<p>Christine sets the cup down, pulls a chair in, and waits. She does not look like she's leaving.</p>
[[Let her push|Office Christine Sophia Push]]<<set $world.location to "Town - Office">>
<<= setup.locBannerHtml("office")>>
<<speech "Christine">>Then keep your voice down. I've covered for you with Jayden more than once. You can give me the real version.<</speech>>
<<speech "Daisy">>You'll make it into a thing.<</speech>>
<<speech "Christine">>It already is a problem. I can see it on your face. Come on.<</speech>>
<p>The office hums around them. Daisy presses her lips together, then finally starts talking.</p>
[[Tell her|Office Christine Sophia Tell]]<<set $world.location to "Town - Office">>
<<= setup.locBannerHtml("office")>>
<<speech "Daisy">>There's a girl we knew in college, Sophia. James went to the waterpark with her — without me. Then I came home and she was on our sofa, talking with him like I didn't live there.<</speech>>
<<speech "Christine">>Oh, honey.<</speech>>
<<speech "Daisy">>He talked to me this morning. I don't want to fight about it all day. Forget him — I mean, I'll be okay with it as well.<</speech>>
<<speech "Christine">>Okay with it. Sure. But do you think James could be cheating on you?<</speech>>
<<speech "Daisy">>No. I don't mean that. I just don't like it.<</speech>>
<p>Christine leans back, a slow smile starting like she's already three steps ahead.</p>
<<speech "Christine">>I have an idea.<</speech>>
<<speech "Daisy">>What?<</speech>>
<<speech "Christine">>You'll see, baby. Invite me over for dinner tonight.<</speech>>
<<set $sophia.christineOfficeTalkDone to true>>
<<set $sophia.christineDinnerReady to true>>
[[Back to her desk|Town Office]]<<set $world.location to "Home - Kitchen">>
<<run setup.markJamesEvent()>>
<<= setup.locBannerHtml("kitchen")>>
<img src="Images/Home/Kitchen/cook1.webp" alt="">
<p>That evening, Daisy is stirring dinner when the doorbell rings. Christine has arrived before James, just as she said she would.</p>
<<speech "Christine">>Don't look so shocked. You invited me.<</speech>>
<<speech "Daisy">>You invited yourself.<</speech>>
<<speech "Christine">>Same thing. Something smells good. Where do you want me?<</speech>>
<p>Christine makes herself at home in the kitchen, setting her wine on the counter. She watches Daisy cook with the same knowing smile she wore at the office.</p>
[[James comes home|Christine Dinner James]]<<set $world.location to "Home - Kitchen">>
<<= setup.locBannerHtml("kitchen")>>
<p>Daisy hears James's keys at the front door. He pauses in the kitchen doorway, surprised to find Christine there with a bottle of wine.</p>
<<speech "James">>Uh. Hey. I didn't know we had company.<</speech>>
<<speech "Daisy">>This is Christine. From work. I asked her to stay for dinner.<</speech>>
<<speech "Christine">>Nice to finally meet the husband. Daisy talks about you.<</speech>>
<<speech "James">>Good things, I hope.<</speech>>
<<speech "Christine">>Mostly. Sit. She cooked. I'm just here to watch.<</speech>>
<p>He laughs, taking it as a joke, and Christine says nothing. They sit down to dinner, passing plates and wine as they get used to having company.</p>
[[Keep eating|Christine Dinner Slip]]<<set $world.location to "Home - Kitchen">>
<<= setup.locBannerHtml("kitchen")>>
<p>Halfway through the meal the wine runs low. Daisy stands, gathering plates she doesn't need to gather.</p>
<<speech "Daisy">>I'll grab another bottle. Two minutes.<</speech>>
<<speech "Christine">>Take your time. We'll behave.<</speech>>
<p>Daisy steps into the kitchen. The dining room drops to a lower murmur — James, Christine, the scrape of a chair.</p>
[[Meanwhile|Christine Dinner Flash]]<<set $world.location to "Home - Dining">>
<<= setup.locBannerHtml("kitchen")>>
<p>Christine leans across for the salt. Her dress strap slips, baring one breast. The light catches her nipple before she reaches up, a little too slowly for it to seem like an accident.</p>
<img src="Images/James/christine/revelaing_tits.gif" alt="">
<<speech "Christine">>Oh my god — this dress, I swear it hates me. Don't look. Wait. Too late.<</speech>>
<p>She laughs under her breath, making no real move to cover up. With Daisy out of the room, she waits to see how James will react.</p>
[[He looks away and tells her to cover up|Christine Dinner Cover]]
[[He doesn't look away|Christine Dinner Look]]<<set $world.location to "Home - Dining">>
<<= setup.locBannerHtml("kitchen")>>
<<speech "James">>You should— sorry. I'll look away. Cover up.<</speech>>
<p>He turns toward the hall so hard his chair scrapes. Christine tugs the strap up, still smiling, like she got an answer anyway.</p>
<<speech "Christine">>Relax. Malfunction. You're allowed to be a gentleman.<</speech>>
<<speech "James">>Daisy's right there.<</speech>>
<<speech "Christine">>And she isn't, for another minute. Breathe, James.<</speech>>
<<set $sophia.christineDinnerChoice to "cover">>
[[Daisy comes back|Christine Dinner Back]]<<set $world.location to "Home - Dining">>
<<= setup.locBannerHtml("kitchen")>>
<p>James keeps staring longer than he should. Christine takes her time with the strap, watching his face as he looks at her.</p>
<<speech "Christine">>Malfunction. Unless you don't mind.<</speech>>
<<speech "James">>I— that's not… your dress just—<</speech>>
<<speech "Christine">>Mm. You can say you looked. I already know.<</speech>>
<p>She covers slowly, like she's doing him a favor, and sits back as if nothing happened.</p>
<<stat "james.openness" 2>>
<<set $sophia.christineDinnerChoice to "look">>
[[Daisy comes back|Christine Dinner Back]]<<set $world.location to "Home - Kitchen">>
<<= setup.locBannerHtml("kitchen")>>
<p>Daisy comes back with the bottle. Christine is composed. James is a little too interested in his plate.</p>
<<speech "Daisy">>Did I miss something?<</speech>>
<<speech "Christine">>My dress tried to kill me. Cheap clasp. James was a perfect gentleman.<</speech>>
<<if $sophia.christineDinnerChoice is "look">>
<<speech "James">>Yeah. Just a— wardrobe thing.<</speech>>
<<else>>
<<speech "James">>She should get that strap looked at.<</speech>>
<</if>>
<p>Christine doesn't stay late. At the door she squeezes Daisy's arm, then looks past her at James still clearing plates so he hears this part too.</p>
<<speech "Christine">>See? Wait and watch. We'll talk. And next Sunday — dinner at my place. Both of you.<</speech>>
<<speech "James">>Us?<</speech>>
<<speech "Christine">>Unless you're busy being married at home. I'll cook. Come hungry.<</speech>>
<<speech "Daisy">>Sunday. Okay.<</speech>>
<<set $sophia.christineDinnerDone to true>>
<<set $sophia.christineDinnerReady to false>>
<<set $sophia.christineSundayInvited to true>>
<<set $sophia.christineSundayOnDay to setup.nextSundayDay()>>
<<set $today.kitchenDone to true>>
<<set $today.eveningDone to true>>
<<set $world.time to "Night">>
<p>Once she leaves, the house is quiet again. James stays in the kitchen while Daisy thinks about their plans for Sunday.</p>
[[Bedroom|Bedroom]]<<set $world.location to "Town - Christine's House">>
<<if not setup.christineSundayDinnerReady() or $world.time isnot "Evening" or $today.eveningDone>>
<p>The house is dark. They aren't expected for dinner until this evening.</p>
[[Leave|Town Map]]
<<else>>
<<run setup.markJamesEvent()>>
<p>The lights are on at Christine's house. She opens the door in a dress that seems chosen for more than a quiet dinner.</p>
<img src="Images/James/christine/christine_at_door_welcoming.jpg" alt="">
<p>A man steps up behind her, smiling with a glass of wine in hand. He looks a year or two older than James.</p>
<<speech "Christine">>You came. Both of you. Good. This is Jerry — my boyfriend. He's been dying to meet the famous James.<</speech>>
<<speech "Jerry">>Hey. She talks about you two like you're a show she won't turn off.<</speech>>
<<speech "James">>Good things, I hope.<</speech>>
<<speech "Jerry">>Mixed. Come in before it gets cold.<</speech>>
[[Go in|Christine Sunday Dinner Table]]
<</if>><<set $world.location to "Town - Christine's House">>
<img src="Images/Christine/partykitchen.jpeg" alt="">
<p>The table is set for four. Christine sits James on her side. Jerry takes the chair across, already pouring.</p>
<<speech "Christine">>See? No sofa surprises. Just dinner. Eat.<</speech>>
<<speech "Daisy">>It's good.<</speech>>
<<speech "Jerry">>She can cook when she wants to impress someone.<</speech>>
<<speech "Christine">>I wanted to impress James. Daisy already knows I can cook.<</speech>>
<p>She says it lightly, brushing James's wrist as she passes him the wine. She does not pull her hand back right away.</p>
[[James laughs it off|Christine Sunday Flirt Off]]
[[James lets her — flirts back|Christine Sunday Flirt Back]]<<set $world.location to "Town - Christine's House">>
<<speech "James">>Careful. Daisy's right here.<</speech>>
<<speech "Christine">>That's the point of dinner, isn't it? Everyone's right here.<</speech>>
<<speech "Jerry">>Let her play. She's worse when you flinch.<</speech>>
<<set $sophia.christineSundayFlirt to "polite">>
<p>James shifts his chair an inch. Christine smiles like she still has the rest of the night.</p>
[[They keep drinking|Christine Sunday Q1]]<<set $world.location to "Town - Christine's House">>
<<speech "James">>If I didn't know better, I'd think you invited us for me.<</speech>>
<<speech "Christine">>Maybe I did. Jerry doesn't mind. Do you, baby?<</speech>>
<<speech "Jerry">>I mind if the food gets cold. You're free to do anything else.<</speech>>
<<speech "Daisy">>…You're both ridiculous.<</speech>>
<<stat "james.openness" 1>>
<<set $sophia.christineSundayFlirt to "back">>
<p>Christine's knee stays against his under the table. James does not move it.</p>
[[They keep drinking|Christine Sunday Q1]]<<set $world.location to "Town - Christine's House">>
<img src="Images/Christine/drink1.gif" alt="">
<p>The second bottle is open. Christine turns her glass like a coin she's about to flip.</p>
<<speech "Christine">>Truth. James — if Daisy sat this close to Jerry all night, how would you actually feel?<</speech>>
[[I'd hate it|Christine Sunday Q1 Love]]
[[I'd try not to be jealous|Christine Sunday Q1 Open]]<<speech "James">>I'd hate it. She's my wife.<</speech>>
<<speech "Jerry">>Honest. I can work with honest.<</speech>>
<<stat "player.loveJames" 1>>
[[Next question|Christine Sunday Q2]]<<speech "James">>I'd try not to be jealous. We're sitting here, aren't we?<</speech>>
<<speech "Christine">>There he is.<</speech>>
<<stat "james.openness" 1>>
[[Next question|Christine Sunday Q2]]<<set $world.location to "Town - Christine's House">>
<<speech "Christine">>Daisy. Work's been… interesting lately, hasn't it? Don't give me the boring version.<</speech>>
[[Keep it boring|Christine Sunday Q2 Love]]
[[Say more than she should|Christine Sunday Q2 Aware]]<<speech "Daisy">>It's a job. Jayden's a pain. That's the whole story.<</speech>>
<<speech "James">>That's my girl. Don't let them eat you alive.<</speech>>
<<stat "player.loveJames" 1>>
[[Next question|Christine Sunday Q3]]<<speech "Daisy">>It's not just a job. There are things I haven't… told you about. The uniform, the late nights, people who don't care that I'm wearing a wedding ring.<</speech>>
<<speech "James">>What does that mean?<</speech>>
<<speech "Daisy">>It means I should have talked to you sooner. That's all I'm saying tonight.<</speech>>
<<speech "Christine">>See? Honesty. It looks good on her.<</speech>>
<<stat "james.awareness" 1>>
[[Next question|Christine Sunday Q3]]<<set $world.location to "Town - Christine's House">>
<img src="Images/Christine/drink2.gif" alt="">
<<speech "Jerry">>My turn. James — you can look at another woman. Doesn't mean you leave. Right? Or is looking already a crime in your house?<</speech>>
[[Looking is already a problem|Christine Sunday Q3 Love]]
[[Looking isn't cheating|Christine Sunday Q3 Open]]<<speech "James">>If I'm looking, I'm already being a problem. I married her.<</speech>>
<<speech "Daisy">>…Thank you.<</speech>>
<<stat "player.loveJames" 1>>
[[More wine|Christine Sunday Drinks]]<<speech "James">>Looking isn't cheating. Acting is. I'm not going to pretend I'm blind.<</speech>>
<<speech "Christine">>Finally. A man who can say it out loud.<</speech>>
<<stat "james.openness" 1>>
[[More wine|Christine Sunday Drinks]]<<set $world.location to "Town - Christine's House">>
<img src="Images/Christine/drink3.gif" alt="">
<p>They take the rest of the wine into the living room. Everyone grows quieter and more relaxed as the night goes on.</p>
<img src="Images/Christine/partylivingroom.jpeg" alt="">
<<speech "Jerry">>I'm done. If I have another glass, I'll fall asleep on this carpet.<</speech>>
<<speech "Daisy">>I was done two glasses ago. I'm just too polite to say it.<</speech>>
<<speech "Christine">>Then be impolite. Sit. Close your eyes. Nobody's driving yet.<</speech>>
<p>Daisy curls up in the corner of the sofa while Jerry leans back in the armchair. Within a few minutes, their steady breathing shows they're both asleep.</p>
<<speech "Christine">>They're gone.<</speech>>
[[Stay up with her|Christine Sunday Awake]]<<set $world.location to "Town - Christine's House">>
<p>With the others asleep, they can talk without being heard. Christine slides closer on the sofa, voice low so she won't wake Daisy.</p>
<<speech "Christine">>You didn't come here just to eat my food, James.<</speech>>
<<if $sophia.christineSundayFlirt is "back">>
<<speech "Christine">>You flirted back at the table. Don't get shy now that she's asleep.<</speech>>
<<else>>
<<speech "Christine">>You were good at the table. You don't have to be good now.<</speech>>
<</if>>
<p>Her fingers find the front of her dress. She doesn't ask. She just opens it.</p>
[[She teases him|Christine Sunday Flash]]<<set $world.location to "Town - Christine's House">>
<p>The fabric slips down, baring both breasts as she leans close to him. Christine watches his face to see how he reacts.</p>
<img src="Images/James/christine/revelaing_tits.gif" alt="">
<<speech "Christine">>Same malfunction as last time. Except this one isn't an accident.<</speech>>
<p>She pauses, giving him time to look and waiting for his reaction. Then she leans in, mouth almost on his, tits still bare against his shirt.</p>
[[He kisses her|Christine Sunday Kiss]]
[[He turns away|Christine Sunday Refuse]]<<set $world.location to "Town - Christine's House">>
<img src="Images/James/christine/kiss.gif" alt="">
<<speech "James">>…Damn it.<</speech>>
<p>He meets her halfway. The kiss is slow and not innocent, her chest still against him. When they break, Daisy is still out, Jerry still slack in the chair.</p>
<<speech "Christine">>There. That wasn't so hard.<</speech>>
<<speech "James">>We should go. Before she wakes up.<</speech>>
<<speech "Christine">>Then go. I'll see you both again.<</speech>>
<<stat "james.openness" 2>>
<<set $sophia.christineSundayKiss to "kiss">>
<<set $sophia.christineSundayDinnerDone to true>>
<<if $sophia.christineClubTalkWaitSleeps is -1 and not $sophia.christineClubTalkDone>>
<<set $sophia.christineClubTalkWaitSleeps to 3>>
<</if>>
<<set $today.eveningDone to true>>
<<set $world.time to "Night">>
<p>James rests a hand on Daisy's shoulder to wake her. She mumbles an apology for falling asleep, too drowsy to notice his unease. They take a cab home.</p>
[[Home|House Map]]<<set $world.location to "Town - Christine's House">>
<<speech "James">>No. I'm married. She's right there.<</speech>>
<p>He turns his face. Christine's mouth misses him by an inch. She sits back and closes her dress, studying him without a trace of anger.</p>
<<speech "Christine">>Okay. That's an answer too.<</speech>>
<<speech "James">>I should get Daisy home.<</speech>>
<<speech "Christine">>Get her home. The invite still stands next time.<</speech>>
<<stat "james.openness" -1>>
<<set $sophia.christineSundayKiss to "refuse">>
<<set $sophia.christineSundayDinnerDone to true>>
<<if $sophia.christineClubTalkWaitSleeps is -1 and not $sophia.christineClubTalkDone>>
<<set $sophia.christineClubTalkWaitSleeps to 3>>
<</if>>
<<set $today.eveningDone to true>>
<<set $world.time to "Night">>
<p>He wakes Daisy. She apologizes for falling asleep. Christine kisses her cheek at the door like nothing almost happened. They take a cab home.</p>
[[Home|House Map]]<<set $world.location to "Town - Office">>
<<= setup.locBannerHtml("office")>>
<img src="Images/Office/office.jpg" alt="">
<p>Christine finds Daisy at the coffee machine before the morning meeting. She wears the same smile as Sunday, giving no hint that Daisy missed anything after falling asleep.</p>
<<speech "Christine">>So. Dinner. You two survive the hangover?<</speech>>
<<speech "Daisy">>Jerry's wine is far too strong. I passed out on your sofa. I'm still sorry about that.<</speech>>
<<speech "Christine">>Don't be. You looked peaceful. James stayed up a little.<</speech>>
[[Ask what happened after she slept|Office Christine Club Ask]]
[[Let it go|Office Christine Club Club]]<<set $world.location to "Town - Office">>
<<= setup.locBannerHtml("office")>>
<<speech "Daisy">>What happened after I fell asleep?<</speech>>
<<speech "Christine">>We just talked a little. Then we went to sleep. That's the whole thrilling story.<</speech>>
<<speech "Daisy">>That's it?<</speech>>
<<speech "Christine">>That's it. Your husband is a gentleman. Relax.<</speech>>
<p>She says it too easily. Daisy lets it sit.</p>
[[Continue|Office Christine Club Club]]<<set $world.location to "Town - Office">>
<<= setup.locBannerHtml("office")>>
<<speech "Christine">>Anyway, the four of us should go to a club sometime. You, James, me, and Jerry. A proper night out, away from my sofa.<</speech>>
<<speech "Daisy">>I'll ask James.<</speech>>
<<speech "Christine">>Give me his number. I'll ask him myself.<</speech>>
<p>Daisy unlocks her phone and reads the number off. Christine types it in without looking up, then sends a test ping like it's nothing.</p>
<<speech "Christine">>Got it. I'll be nice. Mostly.<</speech>>
<<speech "Daisy">>Christine.<</speech>>
<<speech "Christine">>What? I'm asking him to a club with his wife. That's not a crime.<</speech>>
<<set $sophia.christineHasJamesNumber to true>>
<<set $sophia.christineClubTalkDone to true>>
<<set $sophia.christineClubTalkReady to false>>
[[Back to her desk|Town Office]]<<set $world.time to "Night">>
<<set $world.location to "Home - Bedroom">>
<<= setup.locBannerHtml("bedroom")>>
<img src="Images/Daisy/sleep.jpeg" alt="">
<p>Daisy is already asleep, breathing evenly with her face turned into the pillow. James is still awake when the phone buzzes in his hand. Christine. He opens the thread.</p>
<div id="james-phone-inline" class="oq-inline-phone"></div>
<div id="james-phone-after" hidden>
<p>He locks the screen. Daisy still hasn't stirred. He keeps thinking about the pictures rather than her apology.</p>
[[He can't stop thinking about the pictures|James Christine Night Open]]
[[He wants to forget it|James Christine Night Shut]]
</div>
<<done>>
<<run setup.Phone.playInlineChristineJames("james-phone-inline")>>
<</done>><<set $world.location to "Home - Bedroom">>
<p>He tells himself it was a mistake. He also doesn't delete them right away. They're going to the club on Saturday, and he feels more eager than he should.</p>
<<stat "james.openness" 2>>
<<set $sophia.christineJamesTextDone to true>>
<<set $sophia.christineJamesTextFeel to "open">>
<<set $sophia.christineClubSaturday to true>>
<<set $sophia.christineClubOnDay to setup.nextSaturdayDay()>>
[[Go to sleep|Sleep]]<<set $world.location to "Home - Bedroom">>
<p>He deletes the thread as far as the phone will let him and puts it face-down. It was a drunken mistake, he tells himself. Saturday is just a night out with their partners. Nothing more.</p>
<<set $sophia.christineJamesTextDone to true>>
<<set $sophia.christineJamesTextFeel to "shut">>
<<set $sophia.christineClubSaturday to true>>
<<set $sophia.christineClubOnDay to setup.nextSaturdayDay()>>
[[Go to sleep|Sleep]]
/* ═══════════════════════════════════════════════════════════
SATURDAY CLUB — four of them (Daisy, James, Christine, Jerry).
Evening only. Images: Images/James/club/
═══════════════════════════════════════════════════════════ */<<set $world.location to "Town - Club">>
<<if not setup.christineClubNightReady() or $world.time isnot "Evening" or $sophia.christineClubDone>>
<p>They're meeting at the club on Saturday evening. It isn't time yet.</p>
[[Leave|Town Map]]
<<else>>
<<run setup.markJamesEvent()>>
<p>They find the place by the bass leaking into the street. James's hand is on the small of Daisy's back like he's reminding himself she's here.</p>
<<speech "James">>If this is a disaster, we leave. Deal?<</speech>>
<<speech "Daisy">>Deal.<</speech>>
<p>Inside, Christine is already on the floor. Jerry is with her — close, laughing, moving like they came early on purpose.</p>
<img src="Images/James/club/dancing.gif" alt="">
<<speech "Christine">>There you are! I thought you two were going to flake.<</speech>>
<<speech "Jerry">>She wouldn't shut up about it. Come dance before she starts without you.<</speech>>
[[Join them|Club Night Dance]]
<</if>><<set $world.location to "Town - Club">>
<p>They squeeze in. Christine pulls James by the wrist. Jerry stays near Daisy, not quite touching. The lights make everyone look like a better version of themselves.</p>
<<speech "Christine">>Drinks. All of us. I'm not dancing sober and I'm not watching you two dance sober either.<</speech>>
<<speech "James">>One round.<</speech>>
<<speech "Christine">>We'll see.<</speech>>
[[Take the drinks|Club Night Drinks]]<<set $world.location to "Town - Club">>
<p>The round is stronger than it looks. Christine knocks hers back like water. Jerry grins. James drinks because Daisy does.</p>
<<speech "Christine">>Better. Now you look like you belong here.<</speech>>
<p>A song later she leans into James, mouth at his ear, then tugs him toward the back hall — where people are crowded beneath the restroom sign.</p>
<<speech "Christine">>Come with me a second. I need to show you something.<</speech>>
<<speech "James">>Daisy—<</speech>>
<<speech "Christine">>She's with Jerry. She'll live. Come on.<</speech>>
<p>James looks at Daisy. The music is too loud for a real conversation. He has to decide whether to follow her or stay here.</p>
[[He goes with her|Club Night Washroom]]
[[He stays|Club Night Stay]]<<set $world.location to "Town - Club">>
<<stat "james.openness" 1>>
<<set $sophia.clubJamesWashroom to "go">>
<p>He follows her. Daisy watches them disappear down the hall, missing whatever Jerry says beside her.</p>
<p>The restroom has a single stall with a lock that doesn't quite work. Christine has him against the door before he can make a joke of it.</p>
<img src="Images/James/club/bj.gif" alt="">
<p>She drops to her knees. He tries to stop her, then gives in. Her mouth is wet and sure, like she's been thinking about this since the nudes. James's hand ends up in her hair anyway.</p>
<<speech "Christine">>Don't you dare come on my dress.<</speech>>
<img src="Images/James/club/cum_in_mouth.gif" alt="">
<p>He finishes in her mouth. She swallows some and leaves the rest on her tongue, then stands as calmly as though she'd only checked her lipstick.</p>
<<speech "Christine">>Smile. We're going back.<</speech>>
[[Go back|Club Night Return]]<<set $world.location to "Town - Club">>
<<set $sophia.clubJamesWashroom to "stay">>
<p>James doesn't move. Christine's mouth tightens, then she laughs like it was a joke.</p>
<<speech "James">>I'm good here.<</speech>>
<<speech "Christine">>Your loss. Don't wait up.<</speech>>
<p>She disappears toward the bar. Jerry shrugs, already dancing again. Daisy's shoulders drop a fraction.</p>
[[Keep drinking|Club Night Later]]<<set $world.location to "Town - Club">>
<p>They come back like nothing happened. James is smiling too easily. Christine walks straight into Jerry, grabs his jaw, and kisses him deep — like she's sharing a secret he didn't ask for.</p>
<img src="Images/James/club/kiss.gif" alt="">
<p>Jerry gives a small sound of surprise and kisses her back. It's unclear whether he knows, or whether he knows and likes it. James watches them with that same smile.</p>
<<speech "Daisy">>Where did you two go?<</speech>>
<<speech "Christine">>Line for the bathroom. Nightmare. I dragged him so I wouldn't get murdered in a hallway.<</speech>>
<<speech "James">>Yeah. Long line.<</speech>>
<p>Her lipstick is a little smeared. James won't look at Daisy's mouth when he says it.</p>
[[An hour later|Club Night Later]]<<set $world.location to "Town - Club">>
<p>They have another round, then one more. The next hour passes in a blur. Christine still looks steady, but Daisy is starting to sway.</p>
<<speech "Christine">>You should kiss Jerry.<</speech>>
<<speech "Daisy">>What? No.<</speech>>
<<speech "Christine">>Just once. He's been good. You're drunk. I'm drunk. James is drunk. It's a kiss, Daisy, not a confession.<</speech>>
<<speech "Jerry">>I mean — I wouldn't say no. I'm not going to push.<</speech>>
<<speech "Daisy">>I said no.<</speech>>
<<speech "Christine">>Once. Then I'll shut up about it all night. Promise.<</speech>>
<p>Daisy tells herself she's going to walk away. She doesn't. Christine's hand is already on her back, steering. Jerry waits. Daisy kisses him — quick, then not quick enough.</p>
<img src="Images/James/club/kiss2.gif" alt="">
<p>James is there when she pulls back. He saw it. The lights make his face hard to read.</p>
[[He's okay with it — he's drunk too|Club Night James Ok]]
[[He gets angry|Club Night James Angry]]<<set $world.location to "Town - Club">>
<<stat "james.openness" 1>>
<<set $sophia.clubJamesKissReact to "ok">>
<<set $sophia.christineClubDone to true>>
<<set $world.time to "Night">>
<<set $today.eveningDone to true>>
<<speech "James">>…Okay. Okay. We're all wrecked. It's a kiss.<</speech>>
<<speech "Christine">>See? Your husband gets it.<</speech>>
<<speech "Daisy">>James—<</speech>>
<<speech "James">>Let's go home before I decide I want to dance again.<</speech>>
<p>He takes her hand in a warm, loose grip. He seems more at ease with what happened than she expected.</p>
<p class="scene-meta">That's it for this version. Check Patreon for the latest version.</p>
[[Head home|House Map]]<<set $world.location to "Town - Club">>
<<stat "james.awareness" 1>>
<<set $sophia.clubJamesKissReact to "angry">>
<<set $sophia.christineClubDone to true>>
<<set $world.time to "Night">>
<<set $today.eveningDone to true>>
<<speech "James">>What the hell was that?<</speech>>
<<speech "Daisy">>I— she said just once, I didn't—<</speech>>
<<speech "Christine">>James. Baby. It's a kiss. We're all drunk. Jerry's my boyfriend, she's your wife, nobody died. Don't make it ugly in a club.<</speech>>
<<speech "Jerry">>She's right. I'm not trying to start a war.<</speech>>
<<speech "Christine">>See? Even Jerry's an adult. Come on. You two should go home before you pick a fight with the lights.<</speech>>
<p>James's jaw is tight. He doesn't shout again. He also doesn't look at Christine when they leave.</p>
<p class="scene-meta">That's it for this version. Check Patreon for the latest version.</p>
[[Head home|House Map]]<<set $world.location to "Town - College">>
<<set $sophia.interferedSophia to false>>
<img src="Images/collegepp.jpeg" alt="">
<<speech "Host">>Here for the college reunion?<</speech>>
<<speech "James">>Yeah.<</speech>>
<<speech "Host">>Other people are already inside — go ahead and greet them. Our teacher will welcome everyone shortly.<</speech>>
[[Meet friends|College Meet Friends]]<<set $world.location to "Town - College - Hall">>
<p>As Daisy and James work their way in, a familiar face breaks into a warm smile — Chris, James's old college best friend.</p>
<<speech "Chris">>James — is that you?<</speech>>
<<speech "James">>Wait… Chris?<</speech>>
<<speech "Chris">>Yeah!<</speech>>
<p>They greet each other with their old handshake as though no time has passed.</p>
<<speech "Chris">>James, come here — I want to show you something.<</speech>>
<p>Daisy watches in frustration as James heads off with Chris, leaving her at the edge of the crowd. They came together, yet he's already left her alone.</p>
<<speech "Daisy">>(Wow. So James left me here by myself…)<</speech>>
<p>A woman calls her name.</p>
<<speech "Lana">>Oh Daisy — how are you, darling? Do you remember me?<</speech>>
<<speech "Daisy">>How could I forget you, Lana? You were the most beautiful girl in our college.<</speech>>
<<speech "Lana">>(Even though James chose someone like you…) Yeah — but you got the hottest guy of our year.<</speech>>
<<speech "Daisy">>So what are you doing now?<</speech>>
<<speech "Lana">>I have a little boy now.<</speech>>
<<speech "Daisy">>Really — who's the father?<</speech>>
<<speech "Lana">>I'm not sure, haha. I think it was our coding teacher.<</speech>>
<<speech "Daisy">>(Such a slut. She fucked half the college and she's proud of it. I still remember that day — exam results, and…)<</speech>>
[[Daisy's memory|College Flashback Lana]]
/* ── Flashback: Lana / teacher (original Daisy thoughts → Lana POV) ── */<<set $world.location to "Memory - College">>
<p><em>Years earlier, on the day the exam results came out.</em></p>
<<speech "YoungDaisy">>(I should check my results… what was the website?)<</speech>>
<p>Lana bursts into Daisy's room.</p>
<<speech "YoungDaisy">>Hey Lana — do you remember the site where they post results?<</speech>>
<<speech "YoungLana">>Yeah, I wrote it in a book. Let me find it.<</speech>>
<p>After searching for five minutes, she pulls out something that definitely isn't a textbook.</p>
<img src="Images/Lana/pornmagazine.jpeg" alt="">
<<speech "YoungLana">>Here you go.<</speech>>
<<speech "YoungDaisy">>What the fuck — you wrote it in a porn magazine? Whatever. Let me check.<</speech>>
<p>Daisy searches.</p>
<<speech "YoungDaisy">>Thank god — I passed.<</speech>>
<<speech "YoungLana">>Search mine too.<</speech>>
<<speech "YoungDaisy">>Oh… I'm sorry, Lana. You failed.<</speech>>
<<speech "YoungLana">>What?! What am I going to tell my parents? What do I do?<</speech>>
<<speech "YoungDaisy">>Retake the exam, I guess.<</speech>>
<<speech "YoungLana">>I don't have time. Come with me — talk to the teacher.<</speech>>
<<speech "YoungDaisy">>Ok. No problem.<</speech>>
[[Teacher's room|College Flashback Teacher]]<<set $world.location to "Memory - Teacher Office">>
<img src="Images/Lana/teacherpp.jpeg" alt="">
<<speech "Teacher">>Yes, Lana, Daisy — how can I help?<</speech>>
<<speech "YoungLana">>Sir, I failed your subject. Is there anything that can be done?<</speech>>
<<speech "Teacher">>Retake the exam. That's the only option.<</speech>>
<<speech "YoungLana">>But that takes so long — isn't there another way?<</speech>>
<p>The teacher's face hardens.</p>
<<speech "Teacher">>You failed, and now you won't retake. I've seen you with Chris — I've even seen you both fucking. You do that all semester and then expect a pass? Get out.<</speech>>
<<speech "YoungLana">>Please — I'll work hard next time—<</speech>>
<<speech "Teacher">>I said get out.<</speech>>
<p>Lana shifts in her seat to show more of her cleavage.</p>
<img src="Images/Lana/teacher1.gif" alt="">
<<speech "YoungLana">>Daisy, could you excuse us? I need a private word with the professor.<</speech>>
<<speech "YoungDaisy">>(Is she going to fuck him? I should leave.)<</speech>>
<p>Daisy leaves the room.</p>
[[Lana's way|College Flashback Lana POV]]<<set $world.location to "Memory - Teacher Office">>
<<speech "Teacher">>Lana — what are you doing?<</speech>>
<p>She puts a finger on his lips.</p>
<img src="Images/Lana/teacher2.gif" alt="">
<<speech "YoungLana">>You've always wanted me. I know you were jealous of Chris — that day you watched us. So let me make your fantasy real.<</speech>>
<p>She lowers herself onto her knees.</p>
<img src="Images/Lana/teacher3.gif" alt="">
<<speech "Teacher">>You're really good at this…<</speech>>
<<speech "YoungLana">>Gulp— thanks— gulp—<</speech>>
<<speech "Teacher">>I want your pussy.<</speech>>
<<speech "YoungLana">>Not on the pill today — but anal's on the table.<</speech>>
<img src="Images/Lana/teacher4.gif" alt="">
<<speech "Teacher">>I'm close—<</speech>>
<<speech "YoungLana">>Cum in my ass.<</speech>>
<img src="Images/Lana/teacher5.gif" alt="">
<<speech "YoungLana">>Do I pass now?<</speech>>
<<speech "Teacher">>A+. Don't worry.<</speech>>
<<speech "YoungLana">>Call me anytime for fun.<</speech>>
[[After|College Flashback Lana After]]<<set $world.location to "Memory - Hall">>
<img src="Images/Lana/cum leak.webp" alt="">
<p>When Daisy sees Lana again, cum is leaking from beneath her skirt and down her legs.</p>
<<speech "YoungDaisy">>Did you fuck the teacher for grades?<</speech>>
<<speech "YoungLana">>Yes. Fastest way to get things done. Lucky I was born a girl.<</speech>>
<<speech "YoungDaisy">>That's called being a slut.<</speech>>
<<speech "YoungLana">>Haha — I love when people say that. Proud slut.<</speech>>
[[Back to the reunion|College Present Lana]]<<set $world.location to "Town - College - Hall">>
<<speech "Daisy">>(I can never forget that day. Cum under her skirt — and how proud she was.)<</speech>>
<<speech "Lana">>Hey — what's going on? What were you thinking just now?<</speech>>
<<speech "Daisy">>Nothing.<</speech>>
<<speech "Lana">>Come on. Let's meet other people too.<</speech>>
[[Follow Lana|College Meet Jessica]]
/* ── Jessica ── */<<set $world.location to "Town - College - Hall">>
<<speech "Lana">>Hey Jessica — can you guess who this is?<</speech>>
<img src="Images/Jessica/Jessicapp.jpeg" alt="">
<<speech "Jessica">>Oh, Daisy — how are you, darling?<</speech>>
<<speech "Daisy">>I'm good. What about you? Still cheerleading?<</speech>>
<<speech "Jessica">>No. I'm a camgirl now.<</speech>>
<<speech "Daisy">>What?! Why?<</speech>>
<<speech "Jessica">>Remember our college basketball team?<</speech>>
<<speech "Daisy">>(How could I forget? Match day, and…)<</speech>>
[[Daisy's memory|College Flashback Jessica]]<<set $world.location to "Memory - Gym">>
<img src="Images/Jessica/jessica0.jpeg" alt="">
<<speech "Commentator">>Score is 60–62. Team Pandas lead Team Tigers by two.<</speech>>
<<speech "YoungDaisy">>It's a close match. Who do you think will win?<</speech>>
<<speech "YoungLana">>Tigers — tigers are better in bed than lazy pandas, haha.<</speech>>
<<speech "YoungDaisy">>Do you ever talk about anything besides sex?<</speech>>
<<speech "YoungLana">>Hehe.<</speech>>
<<speech "Commentator">>Deric scores! Pandas up 68–60.<</speech>>
<<speech "YoungDaisy">>Looks like your team's losing.<</speech>>
<<speech "YoungLana">>I need to boost their morale. Wait here — two minutes.<</speech>>
<p>She comes back looking smug.</p>
<<speech "YoungDaisy">>What did you do?<</speech>>
<<speech "YoungLana">>Just watch.<</speech>>
<<speech "Commentator">>Tigers score… 65–68… three minutes left… tied 68–68… twenty seconds… Tigers win!<</speech>>
<<speech "YoungDaisy">>They came back from 68–60. What happened?<</speech>>
<<speech "YoungLana">>I told them if they won, they could all have fun with Jessica.<</speech>>
<<speech "YoungDaisy">>Does Jessica know?<</speech>>
<<speech "YoungLana">>Nope. But she won't decline. Natural-born slut.<</speech>>
[[Locker room|College Flashback Jessica POV]]<<set $world.location to "Memory - Locker">>
<img src="Images/Jessica/jessica0.gif" alt="">
<<speech "YoungJessica">>Hey — what are you doing?<</speech>>
<<speech "Guy1">>You said you'd have sex with us if we won.<</speech>>
<<speech "YoungJessica">>I never said that.<</speech>>
<<speech "Guy2">>Lana said to talk to you.<</speech>>
<<speech "YoungJessica">>Oh — Lana said. Okay. I'm ready. How do you want me?<</speech>>
<<speech "Guy3">>Get on your knees and use your mouth.<</speech>>
<img src="Images/Jessica/jessica1.gif" alt="">
<<speech "Guy1">>Show us your pussy.<</speech>>
<img src="Images/Jessica/jessica2.gif" alt="">
<<speech "Guy2">>She's soaked. I'm first.<</speech>>
<img src="Images/Jessica/jessica3.gif" alt="">
<<speech "Guy1">>My turn.<</speech>>
<img src="Images/Jessica/jessica4.gif" alt="">
<p>They take her one after another — then the door opens.</p>
<img src="Images/Jessica/jessica5.gif" alt="">
<<speech "YoungDaisy">>(What the fuck is going on here?)<</speech>>
<<speech "Guy1">>Welcome, Daisy. Come keep your friend company.<</speech>>
<<speech "YoungDaisy">>(I should leave.)<</speech>>
<p>Daisy backs out. The boys don't stop.</p>
<<speech "Guy1">>Anal time.<</speech>>
<img src="Images/Jessica/jessica6.gif" alt="">
<<speech "Guy3">>I want pussy.<</speech>>
<<speech "Guy2">>Ass is mine.<</speech>>
<<speech "Guy1">>Both holes. I'll take her mouth.<</speech>>
<<speech "YoungJessica">>Wait — I've never—<</speech>>
<<speech "Guy1">>Shut up. Stretch.<</speech>>
<img src="Images/Jessica/jessica8.gif" alt="">
<img src="Images/Jessica/jessica9.gif" alt="">
<<speech "YoungJessica">>I want your cum—<</speech>>
<img src="Images/Jessica/jessica10.gif" alt="">
<img src="Images/Jessica/jessica11.gif" alt="">
<<speech "YoungJessica">>I won't walk for two weeks…<</speech>>
<<speech "Guy1">>Then you can ride my cock instead of walking.<</speech>>
[[Back to the reunion|College Present Jessica]]<<set $world.location to "Town - College - Hall">>
<<speech "Jessica">>Daisy — are you listening?<</speech>>
<<speech "Daisy">>Yeah, yeah — continue.<</speech>>
<<speech "Jessica">>So I lost twenty thousand in a bet with them. Camgirl work paid it off in three months. Now I love the job — pays stupid well.<</speech>>
<<speech "Daisy">>Twenty K in three months… that's a lot.<</speech>>
<<speech "Jessica">>Want to try? camsluts.com — if you ever change your mind.<</speech>>
<<speech "Daisy">>Never. Not in this life.<</speech>>
<<speech "Jessica">>Haha — okay.<</speech>>
<<speech "Lana">>Hey — look. Is that Sophia? With James?<</speech>>
<img src="Images/Sophia/sophiajames.webp" alt="">
<<speech "Daisy">>(Sophia's on him again. Holding his hand. I won't allow that.)<</speech>>
What should Daisy do?
[[Interfere|College Interfere]]
[[Do nothing|College Do Nothing]]<<set $sophia.interferedSophia to true>>
<<stat "player.loveJames" 1>>
<p>Daisy steps between James and Sophia before either can say another word.</p>
[[Group catch-up|College Group Stage]]<<set $sophia.interferedSophia to false>>
<<stat "player.corruption" 1>>
<<stat "player.loveJames" -1>>
<p>Daisy stays put, jaw tight, watching Sophia's fingers stay on James a beat too long.</p>
[[Group catch-up|College Group Stage]]<<set $world.location to "Town - College - Hall">>
<<speech "Sophia">>Hey girls — how's it going?<</speech>>
<<speech "Lana">>So much fun. Old friends, old memories.<</speech>>
<<speech "Jessica">>James, you're still the hottest guy in the room, damn.<</speech>>
<<speech "James">>Haha — thank you. You all got more beautiful with age.<</speech>>
<p>A man steps up to the microphone on stage.</p>
<<speech "Teacher">>Ladies and gentlemen — welcome back. I'm director of this college now. It's a joy to see my former students thriving.<</speech>>
<<speech "James">>Isn't that our programming teacher? He's the director now?<</speech>>
<<speech "Jessica">>(whispering to Lana) Yeah — the one you fucked for marks.<</speech>>
<<speech "Teacher">>We've arranged games to relive the fun. Enjoy. Thank you.<</speech>>
<<speech "Jessica">>Hehe — games! Let's play.<</speech>>
[[Dance game|College Dance Game]]
/* ── Dance game / Peter ── */<<set $world.location to "Town - College - Stage">>
<<speech "Host">>Welcome! We'll draw partners from this bowl. Each pair dances; everyone else votes for their favorite — not their own.<</speech>>
<img src="Images/Dance/bowl.webp" alt="">
<p>He draws two slips.</p>
<<speech "Host">>First pair — Chris and Veronica. Big hand!<</speech>>
<img src="Images/Dance/dance1.gif" alt="">
<<speech "Host">>Fantastic! Next pair — Daisy and Peter.<</speech>>
<<speech "Daisy">>(Peter?!)<</speech>>
<<speech "Peter">>Hey, Daisy. Remember me? The nerd from college?<</speech>>
<img src="Images/Peter/Peterpp.jpg" alt="">
<<speech "Daisy">>(Oh my god — is that really Peter? Biggest glow-up I've ever seen.) Peter… you've changed a lot.<</speech>>
<<speech "Peter">>All credit goes to you. Do you remember that day when you…?<</speech>>
[[Daisy's memory|College Flashback Peter]]<<set $world.location to "Memory - Hallway">>
<p><em>Years earlier, in the hall outside their college classroom.</em></p>
<<speech "YoungPeter">>Hey Daisy!<</speech>>
<img src="Images/Peter/young_peter.jpg" alt="">
<<speech "YoungDaisy">>Hi Peter.<</speech>>
<<speech "YoungPeter">>We've become good friends, and, um… would you like to go on a date with me?<</speech>>
<p>Lana cuts in.</p>
<<speech "YoungLana">>What the fuck? Have you seen your face, loser? You think Daisy dates nerds? Haha.<</speech>>
<<speech "YoungDaisy">>(whisper) You shouldn't talk to him like that.<</speech>>
<p>Peter starts crying. Lana only laughs harder — then kicks him in the balls.</p>
<img src="Images/Peter/kick.gif" alt="">
<<speech "YoungLana">>Let's go. We have class.<</speech>>
<<speech "YoungDaisy">>You shouldn't have— wait, let me apologize—<</speech>>
<<speech "YoungLana">>I don't have time for that shit.<</speech>>
<p>Lana drags Daisy into the classroom.</p>
[[Present day|College Dance Peter]]<<set $world.location to "Town - College - Stage">>
<<speech "Peter">>You have no idea how deep that day cut. Those tears were because of you.<</speech>>
<<speech "Daisy">>Peter, it wasn't like that — I tried to stop Lana—<</speech>>
<<speech "Peter">>Save it. We have a dance to do. Get on stage.<</speech>>
<p>They start dancing. Daisy still feels guilty, until Peter grabs her ass as she turns.</p>
<img src="Images/Peter/dance2.gif" alt="">
<<speech "Daisy">>Hey — what are you doing?<</speech>>
<<speech "Peter">>Nothing compared to what you did to me.<</speech>>
<<speech "Daisy">>(I don't want James and Peter fighting. Just finish the dance.)<</speech>>
<img src="Images/Peter/dance3.gif" alt="">
<<speech "Daisy">>Stop. My husband's here.<</speech>>
<<speech "Peter">>Oh, married? Even better — fun with a wife.<</speech>>
<p>The song ends. Daisy's furious; Peter only smirks.</p>
<<speech "Peter">>I'll see you again, darling. Revenge isn't over.<</speech>>
<<stat "player.corruption" 1>>
<<speech "James">>Daisy — you were great out there.<</speech>>
<<speech "Daisy">>Thanks…<</speech>>
<<speech "Host">>Next performance — James and Sophia!<</speech>>
<<speech "Daisy">>(Oh, not this. She'll be all over him.)<</speech>>
[[Watch them dance|College Dance Sophia]]<<set $world.location to "Town - College - Stage">>
<p>James and Sophia take the floor. Daisy's stomach knots — every dip and laugh looking too familiar.</p>
<img src="Images/Sophia/dance4.gif" alt="">
<<speech "Daisy">>(I knew she'd take advantage.) (Why does this feel like… cuckquean heat?)<</speech>>
<p>Sophia flirts through the whole number. Daisy grows more jealous until the music finally ends.</p>
<<speech "James">>How was our dance, baby?<</speech>>
<<speech "Daisy">>…Fantastic.<</speech>>
<<stat "player.loveJames" -1>>
<<stat "james.awareness" 1>>
<p>More pairs cycle through. Then the host returns with a bowl of votes.</p>
[[Results|College Dance Results]]<<set $world.location to "Town - College - Stage">>
<<speech "Host">>Results time! Close race — but the winners, by one vote… Daisy and Peter!<</speech>>
<p>The crowd applauds, but Daisy's smile freezes.</p>
<<speech "James">>Babyyyy — you won!<</speech>>
<<speech "Daisy">>I… can't believe it.<</speech>>
<<speech "Host">>Winners get a free four-day trip to Hawaii. Congratulations, Daisy and Peter!<</speech>>
<<speech "Daisy">>(WHAT — a trip with <em>Peter</em>?!)<</speech>>
<<speech "James">>Congrats, Peter! You two will have a fantastic time.<</speech>>
<<speech "Daisy">>I'm really sorry — I don't want the trip.<</speech>>
<<speech "Sophia">>Why? Once-in-a-lifetime—<</speech>>
<<speech "Daisy">>Please. No more discussion. I'm not going.<</speech>>
<<speech "James">>Don't push her. If she doesn't want it, she doesn't go.<</speech>>
<<speech "Daisy">>Thanks, James.<</speech>>
<<speech "Host">>That's our program — wonderful to see you all.<</speech>>
<<speech "Sophia">>We shouldn't lose touch again. Should we make a group chat?<</speech>>
<<speech "Jessica">>Yeah. Daisy — make one.<</speech>>
<img src="Images/Daisy/fakechat.png" alt="">
<<speech "Daisy">>Done. I made you admin — add the others.<</speech>>
<<speech "Jessica">>Ok… and I'm making a girls-only one too. No husbands. No judgment.<</speech>>
<<speech "Lana">>"Sluts are back" — perfect name.<</speech>>
<<speech "James">>Daisy, we should go. Great seeing everyone.<</speech>>
<<set $sophia.hawaiiRefused to true>>
<<set $sophia.groupChatMade to true>>
/* Messages app — two group chats (see phone.js). */
<<set $sophia.collegeGroupSent to true>>
<<set $sophia.collegeGroupRead to false>>
<<set $sophia.slutsGroupSent to true>>
<<set $sophia.slutsGroupRead to false>>
/* Peter quest unlocks off the reunion revenge beat.
Guard $peter for older saves that never got StoryInit's object. */
<<if ndef $quests>><<set $quests to {}>><</if>>
<<set $quests.peter to true>>
<<if ndef $peter>><<set $peter to { unlocked: false, stage: 0 }>><</if>>
<<set $peter.unlocked to true>>
<<if ndef $peter.stage>><<set $peter.stage to 0>><</if>>
<<toast "New quest: Peter" "good">>
<<toast "New messages: College friends + Sluts are back" "good">>
[[Home|College Reunion Home]]<<set $world.location to "Home - Hall">>
<<set $world.time to "Evening">>
<<speech "James">>That was amazing — meeting them all again.<</speech>>
<<speech "Daisy">>Yeah. (For you.)<</speech>>
<p>She's already thinking about the debt, the studio, everything waiting outside this house — when James catches her sleeve.</p>
<<speech "James">>You okay, darling?<</speech>>
<<speech "Daisy">>Just tired. Long day.<</speech>>
<<speech "James">>Then get some rest. You've been working hard lately.<</speech>>
<<speech "Daisy">>…Yeah. Sleep sounds good.<</speech>>
<<set $sophia.reunionDone to true>>
/* Arms James shower beat — wait 2 sleeps, then Bathroom (see james-shower.twee). */
<<if ndef $jamesShower>><<set $jamesShower to { waitSleeps: -1, ready: false, done: false, invited: false, finish: "" }>><</if>>
<<if $jamesShower.waitSleeps is -1 and not $jamesShower.done>>
<<set $jamesShower.waitSleeps to 2>>
<</if>>
<<set $today.eveningDone to true>>
<<stat "player.loveJames" 1>>
[[Sleep|Sleep]]<<set $world.location to "Home - Hall">>
<<set $world.time to "Evening">>
<<run setup.markJamesEvent()>>
<p>Back home, Daisy tries to put the day's awkward moments behind her. She wants to enjoy the evening with James, and a naughty welcome might help her forget her worries and give them both something to smile about.</p>
<<speech "Daisy">>(I should tease James today… I'll welcome him naked.)<</speech>>
[[Open the door naked|James Naked Tease Door]]
[[Not tonight|House Map]]<<set $world.location to "Home - Hall">>
<<stat "player.corruption" 1>>
<p>Daisy strips down, heart racing with mischievous excitement, and pulls the front door open the moment she hears footsteps on the step — ready to give James the surprise of his life.</p>
<img src="Images/David/towel.gif" alt="">
<<speech "Daisy">>Oops — sorry.<</speech>>
<p>She's standing completely naked in front of a stranger. Then recognition hits: it's <em>David</em>.</p>
<<speech "David">>(Best day of my life. This morning I was just imagining her tits — and now I can see her fully naked.)<</speech>>
<p>Daisy slams the door shut, face burning, scrambling for anything to cover herself.</p>
[[After a while…|James Naked Tease Aftermath]]<<set $world.location to "Home - Hall">>
<p>A little later, Daisy is dressed but still flustered. James has brought David inside, and the bags by the door suggest he plans to stay.</p>
<<speech "James">>Daisy, meet David — he's an old friend of mine. I never really brought him up around you. He needs a place for a while, so he's going to live with us for some time…<</speech>>
<<speech "Daisy">>(Oh no. How am I supposed to look him in the face after that?)<</speech>>
<<speech "Daisy">>Ok, baby. No problem. I… also worked with him today. He works at my office too.<</speech>>
<<speech "James">>You already know each other? That's great!<</speech>>
<p>They settle in, and Daisy tries to act normal through dinner before going to bed early. Every time she looks at David, she remembers opening the door and feels her face grow hot again.</p>
<<set $office.davidHomeDone to true>>
<<set $office.davidStaying to true>>
<<set $quests.david to true>>
<<set $today.eveningDone to true>>
/* Arm James N3D6 Sophia wait (3 days) if StoryCaption hasn't yet. */
<<if $sophia.waitSleeps is -1 and not $sophia.met and not $sophia.homeDone>>
<<set $sophia.waitSleeps to 3>>
<</if>>
<<stat "player.loveJames" -1>>
<<stat "james.awareness" 1>>
[[Sleep|Sleep]]
/* ═══════════════════════════════════════════
KD6 / K2D6 — weekday morning breakfast while David lives with them.
Triggered from kitchen.twee (Morning, not weekend, one-shot).
═══════════════════════════════════════════ */<<set $world.location to "Home - Kitchen">>
<img src="Images/Home/Kitchen/cook1.webp" alt="">
<p>Daisy is busy at the stove, cooking breakfast as the food sizzles and its smell fills the kitchen. She doesn't notice when David walks in behind her.</p>
<<speech "David">>(Oh God, what an ass. I want that ass to sit on my face.)<</speech>>
<<speech "Daisy">>David — you're up.<</speech>>
<<speech "David">>Something smelled so good in here, I had to come and see.<</speech>>
<<speech "Daisy">>Haha, thanks. You and James should sit at the table — I'll serve you both.<</speech>>
<<speech "David">>Ok.<</speech>>
[[Serve breakfast|David Kitchen Serve]]<<speech "David">>This breakfast is delicious, Daisy. You're a really good cook.<</speech>>
<<speech "Daisy">>Haha, thank you. Are you going to the office today?<</speech>>
<img src="Images/James/kitchen1.gif" alt="">
<<speech "Daisy">>(What is James up to? David is right here…)<</speech>>
<<speech "David">>Yes — we can go together if you don't mind.<</speech>>
<<speech "Daisy">>(I don't want to go with him. He saw me naked yesterday. I should decline.)<</speech>>
<p>Daisy opens her mouth to say no — but James's fingers tighten under the table, and the word that comes out is not the one she planned.</p>
<<speech "Daisy">><strong>YEAHHH…</strong><</speech>>
<<speech "David">>Alright, I suppose that's a yes. We'll leave in thirty minutes.<</speech>>
<<speech "Daisy">>(The day is off to a rough start.)<</speech>>
<<stat "player.corruption" 1>>
<<set $today.kitchenDone to true>>
<<set $office.davidBreakfastDone to true>>
[[Leave for the office with David|David Commute Leave]]
/* ═══════════════════════════════════════════
OD6 → Bus → WD6 → Storage — commute with David after KD6 breakfast.
═══════════════════════════════════════════ */<<set $world.location to "Home - Outside">>
<img src="Images/Day 6/d64.jpg" alt="">
<<speech "David">>I'm sorry, Daisy, but we'll have to take the bus. My car's engine isn't working.<</speech>>
<<speech "James">>Don't worry, Daisy. I'll get it repaired by evening. You two should take the bus today.<</speech>>
<<speech "Daisy">>Ok — no problem.<</speech>>
[[Bus|David Bus]]<<set $world.location to "Town - Bus">>
<p>Daisy and David step onto a crowded bus. People fill the aisles, and they can barely find room to stand, let alone a seat.</p>
<img src="Images/David/bus1.gif" alt="">
<<speech "Daisy">>(Oh god, the bus is so crowded.)<</speech>>
<p>Standing shoulder to shoulder with strangers, she suddenly feels a hand on her butt. Her heart starts to race as she realizes someone is touching her on purpose.</p>
<img src="Images/David/bus3.gif" alt="">
<<speech "Daisy">>(What should I do? I'll wait a minute and see if he leaves…)<</speech>>
<<speech "David">>(Is that man groping her? I should stop him… but why isn't she doing anything? Is she enjoying it?)<</speech>>
<p>The stranger doesn't stop.</p>
<img src="Images/David/bus2.webp" alt="">
<<speech "Daisy">>(Oh god — his fingers… I should stop him. But it'll make everything so embarrassing. I'll just wait…)<</speech>>
<<speech "David">>(She's a proper slut. I'll definitely use that later.)<</speech>>
<img src="Images/David/bus4.webp" alt="">
<p>Daisy comes — shock and heat colliding under the fluorescent bus lights — before she can force herself to move.</p>
<<speech "Daisy">>(Did a stranger just make me cum on a bus…?)<</speech>>
<p>Ten minutes later the bus lurches and dies.</p>
<<speech "Bus Driver">>Sorry, everyone. The engine's broken down, so we can't go any farther.<</speech>>
<<speech "David">>Daisy, we should walk. The office isn't that far.<</speech>>
<<stat "player.corruption" 1>>
[[Walk|David Walk Rain]]<<set $world.location to "Town - Street">>
<p>A sudden shower of rain soaks Daisy's clothes, leaving her even more upset and uncomfortable after what happened on the bus. She didn't wear a bra today, and now the wet fabric leaves nothing to the imagination.</p>
<img src="Images/David/bus5.gif" alt="">
<<speech "Daisy">>Oh no — my dress. How am I supposed to go into the office like this? (I didn't even wear a bra. Why does this keep happening to me?)<</speech>>
<<speech "David">>(I can clearly see her… These really are the best days of my life.) Don't worry, Daisy. You can rest in the storage room until your clothes dry.<</speech>>
<<speech "Daisy">>Yeah… that sounds good.<</speech>>
[[Storage room|David Storage]]<<set $world.location to "Town - Office - Storage">>
<img src="Images/storage room.jpg" alt="">
<<speech "Daisy">>(It'll take ten or fifteen minutes for my clothes to dry. But I can't sit here in wet clothes with the AC on. I'm freezing…)<</speech>>
<p>Should she take the wet clothes off while she waits?</p>
[[No — keep them on|David Storage Keep On]]
[[Yes — take them off|David Storage Strip]]<img src="Images/storage room.jpg" alt="">
<p><strong>Meanwhile, outside the storage room</strong></p>
<<speech "David">>(Thank god I have access to the storage-room camera on my phone. Hope she removes her clothes…)<</speech>>
<img src="Images/David/storage1.gif" alt="">
<<speech "David">>Ahh — bad luck. She's keeping them on.<</speech>>
<p><strong>In the storage room</strong></p>
<<speech "Daisy">>(My clothes are dry enough now. I'd better get back to my desk.)<</speech>>
<<set $office.davidStorageNude to false>>
[[Back to work|David Commute Arrive]]<img src="Images/storage room.jpg" alt="">
<p><strong>Meanwhile, outside the storage room</strong></p>
<<speech "David">>(Thank god I have access to the storage-room camera on my phone. Hope she removes her clothes…)<</speech>>
<img src="Images/David/storage2.gif" alt="">
<<speech "David">>(She has the body of a goddess. I can't resist — I need to release this load.)<</speech>>
<p>David slips into the toilet and brings himself to orgasm while watching the live feed of Daisy undressing.</p>
<<speech "David">>(I came so hard… first time in a long while.)<</speech>>
<p><strong>In the storage room</strong></p>
<<speech "Daisy">>(My clothes are dry enough now. I'd better get back to my desk.)<</speech>>
<<stat "player.corruption" 1>>
<<set $office.davidStorageNude to true>>
[[Back to work|David Commute Arrive]]<<set $world.location to "Town - Office">>
<<set $office.davidCommuteDone to true>>
<<set $today.wentOutside to true>>
<<set $today.officeShift to 1>>
<<set $player.money += 60>>
<<run setup.advanceTime(2)>>
<div class="fading-text fade-animation">Money +$60</div>
<p>By the time Daisy reaches her desk, half the morning is gone. Her clothes are creased from the rain, and she's still uneasy knowing David is nearby. She receives one shift's pay and can work the afternoon too, if she feels able to stay.</p>
[[Stay and work|Town Office]]
[[Leave for town|Town Map]]
/* ═══════════════════════════════════════════
SD6 — shower while David lives at home (one-shot).
Triggered from bathroom.twee when $office.davidStaying and not
$office.davidShowerDone.
═══════════════════════════════════════════ */<<set $world.location to "Home - Bathroom">>
<p>Daisy steps into the shower and starts to undress — then notices the bathroom door is wide open.</p>
<<speech "Daisy">>(Should I close it? Only James might walk by, and he's seen me naked plenty of times… so it shouldn't be a problem.)<</speech>>
[[Close the door|David Bathroom Close]]
[[Leave it open|David Bathroom Open]]<<speech "Daisy">>(Better to close it.)<</speech>>
<p>She shuts the door firmly and takes a normal, private shower.</p>
<img src="Images/Daisy/shower1.webp" alt="">
<<set $today.showered to true>>
<<set $office.davidShowerDone to true>>
[[Leave|House Map]]<p>Daisy leaves the door open and steps under the warm water, seeing no reason to close it.</p>
<img src="Images/Day 6/d62.gif" alt="">
<p>Through the steam she catches a shadowy figure in the doorway.</p>
<<speech "Daisy">>Hello, James — peeking on your wife, huh? Let me give you a proper show then…<</speech>>
<img src="Images/Day 6/d63.webp" alt="">
<p>She turns with a mischievous grin — and freezes. The man in the doorway is not James. It's David.</p>
<<speech "Daisy">>What the fuck——<</speech>>
<p>She blurts it out and slams the door, drowning in embarrassment.</p>
<<speech "Daisy">>(I totally forgot David lives here too. Oh god — how am I supposed to face him now?)<</speech>>
<p>Still embarrassed, she finishes her shower and tries to put the moment out of her mind.</p>
<<stat "player.corruption" 1>>
<<set $today.showered to true>>
<<set $office.davidShowerDone to true>>
[[Leave|House Map]]
/* ═══════════════════════════════════════════
Evening Bedroom — James is out; Daisy masturbates; David walks in.
One-shot. Bedroom card only when setup.canDavidBedroomMasturbate()
(davidStaying, Evening, no James event today / pending tonight).
═══════════════════════════════════════════ */<<set $world.location to "Home - Bedroom">>
<<= setup.locBannerHtml("bedroom")>>
<<if not setup.canDavidBedroomMasturbate()>>
<<goto "Bedroom">>
<</if>>
<p>James texted that he'd be late — overtime again. The house is quiet except for the fridge and the clock.</p>
<<speech "Daisy">>(He's not coming home yet. I can feel it sitting in me all day. If I don't do something I'm going to climb the walls.)<</speech>>
<p>She leaves the door unlocked, as she always does when she thinks she's alone. Clothes come off in a pile by the bed; she sinks back into the pillows and lets her hand go where her mind has been all evening.</p>
<img src="Images/David/caught_masturbating/daisy_masturbating.gif" alt="">
<p>She's close, breathing hard with her eyes half-shut, when a floorboard creaks behind her. Someone is there.</p>
[[Look back|Bedroom David Caught]]<<set $world.location to "Home - Bedroom">>
<img src="Images/David/caught_masturbating/caught.gif" alt="">
<p>She turns sharply and sees David just inside the doorway. He has taken a step into the room and now stands frozen, unsure what to do.</p>
<<speech "Daisy">>David—?!<</speech>>
<<speech "David">>I just got home. I— sorry. I didn't know anyone was in here. I'm going.<</speech>>
<p>He backs out so fast he almost hits the frame. The door doesn't quite close. The hallway is empty again.</p>
<<speech "Daisy">>(Oh my god. He saw that. He saw all of that.)<</speech>>
<p>She pulls the sheet up too late. The quiet after he leaves is worse than being walked in on.</p>
<<stat "player.corruption" 1>>
<<set $office.davidCaughtMasturbate to true>>
<p class="scene-meta">He's probably still in the living room. She could talk to him — before James gets home.</p>
[[Pull yourself together|Bedroom]]
/* ═══════════════════════════════════════════
After the walk-in: Living Room talk. David apologizes; James comes
home mid-conversation and asks. Work cover = Awareness −1;
ignore = Awareness +1.
═══════════════════════════════════════════ */<<set $world.location to "Home - Living Room">>
<<= setup.locBannerHtml("living")>>
<<if not setup.canDavidCaughtTalk()>>
<<goto "Living Room">>
<</if>>
<p>David jumps up when she enters, then awkwardly sits back down.</p>
<<speech "David">>Daisy — I'm sorry. About earlier. I only came in to ask you something. I should have knocked. That was on me.<</speech>>
<<speech "Daisy">>You think?<</speech>>
<<speech "David">>I know. I walked out. I should have done that the second I realized. I'm not going to bring it up again unless you want to.<</speech>>
<p>She's still deciding how much of that she can stand when the front door opens.</p>
<<speech "James">>I'm home— oh. Hey. You two look serious.<</speech>>
<p>James drops his bag by the hall and comes into the living room, looking from Daisy to David.</p>
<<speech "James">>What's this about?<</speech>>
[[It was about work|Living David Caught Talk Work]]
[[Ignore him|Living David Caught Talk Ignore]]<<set $world.location to "Home - Living Room">>
<<run setup.markJamesEvent()>>
<<set $office.davidCaughtTalkDone to true>>
<<set $office.davidCaughtTalkChoice to "work">>
<<stat "james.awareness" -1>>
<<speech "Daisy">>Work. Just something from the office — it can wait until Monday.<</speech>>
<<speech "David">>Yeah. Nothing urgent.<</speech>>
<<speech "James">>Ah. You two and your Banana hours. I'm going to grab water — don't let me interrupt the thrilling spreadsheet talk.<</speech>>
<p>He goes to the kitchen. David avoids her eyes, and neither speaks. Their excuse seems to have worked, though it has done little to ease the tension.</p>
[[Leave|House Map]]<<set $world.location to "Home - Living Room">>
<<run setup.markJamesEvent()>>
<<set $office.davidCaughtTalkDone to true>>
<<set $office.davidCaughtTalkChoice to "ignore">>
<<stat "james.awareness" 1>>
<p>Daisy doesn't answer. She fusses with a cushion, then picks up the remote, doing anything she can to avoid looking at him.</p>
<<speech "James">>Daisy?<</speech>>
<<speech "Daisy">>It's nothing. Don't worry about it.<</speech>>
<p>James keeps watching her for a moment. David turns toward the TV, even though it isn't on.</p>
<<speech "James">>…Okay. I'll be in the kitchen.<</speech>>
<p>He leaves without asking again, but he has noticed that she never really answered.</p>
[[Leave|House Map]]<<set $world.time to "Morning">>
<<set $world.location to "Home - Bedroom">>
<<= setup.locBannerHtml("bedroom")>>
<img src="Images/Sleep/3.webp" alt="">
<p>Gentle light filters through the window. Daisy stirs and reaches for her phone — a new notification from her boss lights the screen.</p>
<img src="Images/Boss/whatsapp_chat.png" alt="">
<<speech "Daisy">>Urgent meeting? I should get to the office quickly.<</speech>>
[[Shower|Main Day10 Shower]]<<set $world.location to "Home - Bathroom">>
<<= setup.locBannerHtml("bathroom")>>
<p>Daisy takes a shower to wake herself up, already thinking about work.</p>
<img src="Images/Daisy/shower6.webp" alt="">
<<speech "Daisy">>I shouldn't wear panties — otherwise Jayden will be angry.<</speech>>
<img src="Images/Day 10/d101.webp" alt="">
<<speech "Daisy">>I have to be careful. One wrong move and everyone will see… everything.<</speech>>
<<speech "Daisy">>I should put that butt plug in again, like Christine told me.<</speech>>
<img src="Images/Day 10/butt-plug_001.gif" alt="">
<<set $office.buttPlug to true>>
<<set $office.noPanties to true>>
<<set $today.showered to true>>
<<stat "player.corruption" 1>>
[[Go to the office|Main Day10 Office]]<<set $world.location to "Town - Office">>
<<= setup.locBannerHtml("office")>>
<p>As Daisy arrives, she spots David in the hallway. She heads over — maybe he knows something about the meeting.</p>
<<speech "Daisy">>David, did you hear about the meeting?<</speech>>
<<speech "David">>Yeah — I got a notification this morning. Do you know what it's about?<</speech>>
<<speech "Daisy">>No. I was hoping you might.<</speech>>
<<speech "David">>Sorry. I haven't heard anything either.<</speech>>
<p>They're still talking when Christine walks up.</p>
<<speech "Christine">>Aren't you two coming to the meeting?<</speech>>
<<speech "David">>You're invited too? Then it must be important. We should go now.<</speech>>
[[Meeting room|Main Day10 Meeting]]<<set $world.location to "Town - Office - Meeting">>
<p>Daisy enters with David and Christine. Every seat is taken, and the room feels tense. After two minutes of silence, Jayden walks in.</p>
<img src="Images/Office/office.jpg" alt="">
<<speech "Jayden">>The company has taken substantial losses this year. For a tech firm in this market, that's a serious problem. The investors and I have made a difficult decision: we will reduce the workforce and keep only those who prove exceptional competence.<</speech>>
<<speech "Jayden">>There will be assessments for every employee. Pass, and you keep your role. Fail, and you part ways with Banana. We haven't made this decision lightly. Further details will follow shortly. You may leave.<</speech>>
[[Leave the room|Main Day10 After Meeting]]<<set $world.location to "Town - Office">>
<p>The meeting ends, leaving everyone stunned by the news. Daisy, David, and Christine stand in the hall, worried about the exam.</p>
<<speech "Daisy">>What? We have to take an exam to keep our jobs?<</speech>>
<<speech "David">>Yeah. This doesn't look good. I can't afford to lose this right now.<</speech>>
<<speech "Christine">>I'm sure I'm going to fail. (Boss will never let me go, haha.)<</speech>>
<<speech "Daisy">>So what do we do?<</speech>>
<<speech "David">>We study. We could do it together.<</speech>>
<<speech "Daisy">>That's a good idea. Christine?<</speech>>
<<speech "Christine">>I'm in. Whose house?<</speech>>
<<speech "Daisy">>Not mine. We'd disturb James. We could go to…<</speech>>
<div id="can">
<<link "Christine's house">><<replace "#can">>
<<speech "Daisy">>Christine's house.<</speech>>
<<speech "Christine">>Okay. We'll study at mine.<</speech>>
<<set $office.studyHouse to "christine">>
[[Continue|Main Day10 Plug Removal]]
<</replace>><</link>>
<<link "David's house">><<replace "#can">>
<<speech "Daisy">>David's house.<</speech>>
<<speech "Christine">>Okay, we'll study at David's.<</speech>>
<<set $office.studyHouse to "david">>
[[Continue|Main Day10 Plug Removal]]
<</replace>><</link>>
</div>
/* D2D9 — Christine removes the plug before they leave for the day */<<set $world.location to "Town - Office">>
<<speech "Christine">>Hope you enjoyed your day with that plug in. Bend down — I'll take it out.<</speech>>
<img src="Images/Day 10/104015-plug-removal.gif" alt="">
<<speech "Daisy">>Ahh…<</speech>>
<<speech "Christine">>So — how are you feeling?<</speech>>
<<speech "Daisy">>My ass still hurts… but I guess it was a good experience.<</speech>>
<<speech "Christine">>Good to hear you liked it.<</speech>>
<p>Daisy spends the rest of the day on paperwork, then packs her things when it's time to leave.</p>
<<if $office.studyHouse is "david">>
<<speech "Daisy">>Finally done. I should go to David's to study for the exam.<</speech>>
<<set $quests.studyDavid to true>>
<<set $quests.studyChristine to false>>
<<toast "New quest: David's House" "good">>
<<toast "New on Town Map: David's House" "good">>
<<else>>
<<speech "Daisy">>Finally done. I should go to Christine's to study for the exam.<</speech>>
<<set $quests.studyChristine to true>>
<<set $quests.studyDavid to false>>
<<toast "New quest: Christine's House" "good">>
<<toast "New on Town Map: Christine's House" "good">>
<</if>>
<<set $office.buttPlug to false>>
<<set $office.day10Done to true>>
<<set $today.officeShift to 2>>
<<set $player.money += 100>>
<<run setup.setTimeAtLeast("Evening")>>
<div class="fading-text fade-animation">Money +$100</div>
<<stat "player.corruption" 1>>
<p class="scene-meta">Go to the study house from the Town Map — Notes track the new quest.</p>
<<if $office.studyHouse is "david">>
[[Go to David's house|Study David House]]
<<else>>
[[Go to Christine's house|Study Christine House]]
<</if>>
[[Town Map|Town Map]]<<set $world.location to "Town">>
<<= setup.locBannerHtml("town")>>
<p>Daisy has barely left Max's front step when she stops short. Aaron is waiting beside a large, stern-looking man she has never seen before.</p>
<<speech "Daisy">>What is he doing here again?<</speech>>
<p>They spot her before she can slip away. Both men stare at her, blocking her path.</p>
<<speech "Aaron">>Ekon, that's her. That's the bitch who hit me with the pipe.<</speech>>
<<speech "Ekon">>Bring her here.<</speech>>
<p>Before Daisy can turn to run, a couple of his guys grab her — one by the arm, one hard enough in her hair that her scalp stings — and march her forward.</p>
<img src="Images/Day 6/d614.gif" alt="">
<<speech "Daisy">>Hey! Let go of me! You can't do this!<</speech>>
[[Next|Ekon Ambush Debt]]
/* ── Ambush, page 2 ───────────────────────────────────────
Original MD6 had a "Mia" phone-video threat (woman forced into sex
work over a loan). Cut on purpose. Debt + agent only. ───────── */<<set $world.location to "Town">>
<p>They plant her in front of Ekon. He looks her over like he's already decided something about her.</p>
<<speech "Ekon">>Hello, Daisy. Wondering how I know your name? Max mentioned it. So — you're the one who took a pipe to my brother's skull.<</speech>>
<<speech "Daisy">>Because he was beating up a guy for no reason.<</speech>>
<<speech "Ekon">>Sweet of you to care. Shame you picked the brother of the biggest name in this town to swing at.<</speech>>
<<speech "Daisy">>What do you want? Tell them to let go of me first.<</speech>>
<<speech "Ekon">>I will. But you don't think you can walk away without paying, do you?<</speech>>
<<speech "Daisy">>I'll go to the police.<</speech>>
<<speech "Ekon">>Go ahead. Even the police answer to me around here.<</speech>>
<<speech "Daisy">>Then what do you want from me?<</speech>>
<<speech "Ekon">>Compensation. Ten thousand dollars, for what you did to my brother.<</speech>>
<<speech "Daisy">>Ten thousand?! I don't have anywhere near that much!<</speech>>
<<speech "Ekon">>Not my problem how you find it. Unless you'd rather work it off instead.<</speech>>
<<speech "Daisy">>Work it off how?<</speech>>
<<speech "Ekon">>Simple. You become my agent. Whenever I need something handled, you drop what you're doing and you're there — day or night, no questions. That's how this gets settled.<</speech>>
<<speech "Daisy">>You want me on call? For you? I'm not doing that.<</speech>>
<<speech "Ekon">>Then find ten thousand dollars. And Daisy — if you think about running instead, I know exactly which street your husband walks home on.<</speech>>
<p>Daisy's mouth goes dry. She doesn't have that kind of money, and she believes his threat. He knows where James walks home. The thought leaves her too scared to argue.</p>
<<speech "Daisy">>...Fine. Okay. I'll do it.<</speech>>
<<speech "Ekon">>Smart girl. I'll be in touch — starting this weekend.<</speech>>
<p>He nods to his men, and they let her go. Her legs feel unsteady the second the grip loosens.</p>
<<set $ekon.stage to 2>>
<<set $ekon.agent to true>>
<<set $ekon.debt to 10000>>
<<set $ekon.ambushDay to $world.day>>
<<set $quests.ekon to true>>
<div class="fading-text fade-animation">New note in Side Quests</div>
<p>Shaken, Daisy heads straight home.</p>
[[Head home|House Map]]
/* ── Payment day (weekend only) ────────────────────────── */<<set $world.location to "Town">>
<<= setup.locBannerHtml("town")>>
<p>Daisy is barely two blocks from the house when a car pulls up beside her with its window down. Ekon doesn't get out.</p>
<<speech "Ekon">>You know why I'm here.<</speech>>
<<if $player.money gte $ekon.weeklyAmount>>
<<speech "Daisy">>I have it.<</speech>>
[[Pay him ($<<= $ekon.weeklyAmount>>)|Ekon Payment Paid]]
[[Refuse to pay|Ekon Payment Alternative]]
<<else>>
<<speech "Daisy">>I— I don't have it. Not all of it, not yet.<</speech>>
<<speech "Ekon">>That's a problem for you, not for me.<</speech>>
[[See what he wants instead|Ekon Payment Alternative]]
<</if>><p>With shaking hands, Daisy passes the bills through the window. Ekon slowly counts the money again before he is satisfied.</p>
<<speech "Ekon">>See? Not so hard. Same time next week.<</speech>>
<p>The car pulls away. Daisy stands there a moment longer than she means to, doing the math on how many more weekends this is going to take.</p>
<div class="fading-text fade-animation">Money −$<<= $ekon.weeklyAmount>></div>
<<set $player.money -= $ekon.weeklyAmount>>
<<set $ekon.debt -= $ekon.weeklyAmount>>
<<set $ekon.paidTotal += $ekon.weeklyAmount>>
<<stat "player.corruption" 1>>
<<set $ekon.stage to 3>>
<<if $ekon.debt lte 0>>
<p class="scene-meta">Ekon's debt is paid off.</p>
<<else>>
<p class="scene-meta">$<<= $ekon.debt>> still owed. He'll be back next weekend.</p>
<</if>>
[[Head home|House Map]]<p>Ekon studies her for a second, then smiles in a way that makes her stomach drop.</p>
<<speech "Ekon">>Relax. There's always another way to work off a debt. You're a pretty thing — I'm sure we can come to an arrangement that doesn't need cash.<</speech>>
<p>Daisy's pulse is loud in her own ears. She has maybe two seconds to decide how this goes.</p>
[[Hear him out|Ekon Payment Alternative Accept]]
[[Refuse and walk away|Ekon Payment Alternative Refuse]]<p>Daisy stays silent, unable to bring herself to say yes. Ekon takes her silence as an answer, and his smile widens.</p>
<<speech "Ekon">>Good girl. We'll talk details next time. Consider this week's payment... deferred.<</speech>>
<p>The car pulls away, and Daisy is left standing on the curb feeling like she just agreed to something she can't take back.</p>
<<stat "player.corruption" 1>>
<<set $ekon.stage to 3>>
[[Head home|House Map]]<<speech "Daisy">>No. I'll get you the cash. Just — give me time.<</speech>>
<<speech "Ekon">>Careful how many times you make me come back for nothing. Next weekend, Daisy. I won't ask nicely again.<</speech>>
<p>The car pulls away. Daisy's hands are still shaking by the time she's out of sight of the street.</p>
<<stat "player.loveJames" -1>>
<p class="scene-meta">He'll be back this weekend.</p>
[[Head home|House Map]]
/* ── First "agent" job — a text message, two days after the ambush ── */<<goto "House Map">><<set $world.location to "Home - Bathroom">>
<<run setup.markJamesEvent()>>
<p>Daisy is standing under the shower when she notices James at the door, making little effort to hide his gaze.</p>
<<speech "Daisy">>(Is James watching me? …Should I invite him in?)<</speech>>
[[Yes — invite him|James Shower Invite]]
[[No — leave him outside|James Shower Refuse]]
/* ── Invite path (Love +1) ───────────────────────────────── */<<set $world.location to "Home - Bathroom">>
<<set $jamesShower.invited to true>>
<<stat "player.loveJames" 1>>
<img src="Images/Daisy/showerinvite.gif" alt="">
<<speech "James">>Yes, my queen — how can I help you?<</speech>>
<<speech "Daisy">>Put your hands behind your back and stand still.<</speech>>
<p>She kneels under the spray.</p>
<img src="Images/Daisy/showerinvite2.gif" alt="">
<<speech "James">>Now it's your turn to stand still and let me do my duty.<</speech>>
<img src="Images/Daisy/showerinvite3.gif" alt="">
<<speech "James">>My queen, where would you like your tribute?<</speech>>
[[In Daisy's mouth|James Shower Mouth]]
[[On Daisy's face|James Shower Face]]<<set $world.location to "Home - Bathroom">>
<img src="Images/Daisy/showerinvite4.gif" alt="">
<<set $jamesShower.finish to "mouth">>
<<set $jamesShower.done to true>>
<<set $jamesShower.ready to false>>
<<set $today.showered to true>>
<p>Afterward, she catches her breath, rinses off, and steps out of the shower.</p>
[[Leave|House Map]]<<set $world.location to "Home - Bathroom">>
<img src="Images/Daisy/showerinvite5.gif" alt="">
<<set $jamesShower.finish to "face">>
<<set $jamesShower.done to true>>
<<set $jamesShower.ready to false>>
<<set $today.showered to true>>
<p>Afterward, she rinses her face with a quiet laugh and steps out of the shower.</p>
[[Leave|House Map]]
/* ── Refuse path (Love −1) → solo ────────────────────────── */<<set $world.location to "Home - Bathroom">>
<<set $jamesShower.invited to false>>
<<stat "player.loveJames" -1>>
<p>Daisy turns her face into the spray and pretends she didn't see him. After a moment the door clicks shut — he's gone.</p>
<<speech "Daisy">>(…Still. The idea of him watching won't leave me alone.)<</speech>>
<img src="Images/Daisy/shower1.webp" alt="">
<p>Her hand slides down her stomach. The water is warm, and the thought of his gaze still excites her.</p>
[[Continue|James Shower Solo]]<<set $world.location to "Home - Bathroom">>
<img src="Images/Daisy/shower2.gif" alt="">
<<speech "Daisy">>(Just a little… he doesn't have to know.)<</speech>>
<img src="Images/Daisy/shower3.gif" alt="">
<p>She rests a palm against the tile, breathing hard as she brings herself to orgasm under the running water.</p>
<img src="Images/Daisy/shower4.webp" alt="">
<<set $jamesShower.finish to "solo">>
<<set $jamesShower.done to true>>
<<set $jamesShower.ready to false>>
<<set $today.showered to true>>
<<stat "player.corruption" 1>>
<p>Once her legs feel steady, she turns off the shower and dries herself. Her cheeks are flushed from more than the steam.</p>
[[Leave|House Map]]<<set $world.location to "Home - Living Room">>
<<run setup.markJamesEvent()>>
<<= setup.locBannerHtml("living")>>
<p>Daisy comes home still buzzing from the shoot — and freezes. Sophia and James are already on the sofa. They went to the waterpark without her.</p>
<img src="Images/Day 9/d913.gif" alt="">
<<speech "Daisy">>Why didn't you tell me you two were going to the waterpark?<</speech>>
<<speech "James">>I'm really sorry, Daisy. I thought you'd be busy with work. I didn't want to disturb you.<</speech>>
<<speech "Sophia">>Hi Daisy — I'm really sorry. The plan came together last-minute.<</speech>>
<<speech "Daisy">>I'm going to sleep.<</speech>>
<p>Her anger shows in her voice as she leaves without waiting for an answer.</p>
<<stat "player.loveJames" -1>>
<<set $sophia.waterparkDone to true>>
<<set $today.eveningDone to true>>
[[Bedroom|James Waterpark Bedroom]]<<set $world.location to "Home - Bedroom">>
<<= setup.locBannerHtml("bedroom")>>
<img src="Images/Day 9/d914.gif" alt="">
<<speech "Daisy">>(I'll kill that bitch. She's been hitting on James since college.)<</speech>>
<<set $world.time to "Night">>
[[Go to sleep|Sleep]]
/* ── HD10 — Sophia still hanging around (no T&D framing) ─── */<<set $world.location to "Home - Living Room">>
<<run setup.markJamesEvent()>>
<<= setup.locBannerHtml("living")>>
<p>Daisy comes home hoping to relax, but stops short in the doorway. Sophia and James are on the sofa again, deep in conversation, laughing like she's already out of the picture.</p>
<p>Jealousy hits hard. Her pulse picks up. Sophia glances up and notices her at last.</p>
<img src="Images/Sophia/chatting0.gif" alt="">
<<speech "Sophia">>Hey Daisy — when did you get here?<</speech>>
<<speech "Daisy">>Just now.<</speech>>
<<speech "Sophia">>You should join us. We were talking about college days.<</speech>>
<<speech "Daisy">>I'm going to bed. Good night.<</speech>>
<p>She keeps it short, already backing toward the hall. She doesn't want to sit with them. Seeing Sophia in her living room still bothers her.</p>
<<speech "Sophia">>What happened to her?<</speech>>
<<speech "James">>I'll talk to her in the morning.<</speech>>
<<stat "player.loveJames" -1>>
<<set $sophia.hd10Done to true>>
<<set $today.eveningDone to true>>
<<set $world.time to "Night">>
[[Go to bedroom|James HD10 Bedroom]]<<set $world.location to "Home - Bedroom">>
<<= setup.locBannerHtml("bedroom")>>
<p>Daisy shuts the bedroom door harder than she means to. Voices still murmur from the living room. She doesn't wait for James to follow.</p>
[[Go to sleep|Sleep]]
/* ── Morning after HD10 — James comes to the bedroom ─── */<<set $world.time to "Morning">>
<<set $world.location to "Home - Bedroom">>
<<= setup.locBannerHtml("bedroom")>>
<img src="Images/James/sleep0.jpeg" alt="">
<p>Morning light falls across the bed. Before Daisy is fully awake, James opens the door and steps in, still wearing last night's clothes, ready to talk.</p>
<<speech "James">>Daisy? What happened last night? You walked straight past us.<</speech>>
<<speech "Daisy">>You don't know what happened? First you went to the waterpark with her. Then she was in our home, talking with you — while I wasn't here.<</speech>>
<<speech "James">>Daisy, it's not like that. I mean — she used to like me in college, but now it's totally different.<</speech>>
<<speech "Daisy">>I don't care. I just don't like her.<</speech>>
<p>He takes a breath, choosing his next words with care.</p>
[[He loves her — he'll set boundaries|James HD10 Talk Boundaries]]
[[He has a life too — he wouldn't be jealous|James HD10 Talk Open]]<<set $world.location to "Home - Bedroom">>
<<= setup.locBannerHtml("bedroom")>>
<<speech "James">>Daisy, I love you. I'll set boundaries. No more last-minute plans with her. No more sitting in our living room when you're not home. You're my wife. That comes first.<</speech>>
<<stat "player.loveJames" 2>>
<<set $sophia.hd10TalkDone to true>>
<<set $sophia.hd10TalkChoice to "boundaries">>
<p>He sits on the edge of the bed. For a second she just looks at him — still hurt by what happened last night — then the tightness eases enough to let her speak.</p>
<<speech "Daisy">>Then say it to her. Not just to me. I don't want to come home and find her on our sofa again like I don't live here.<</speech>>
<<speech "James">>You won't. I'll tell her we're not doing that. College was years ago. This is our home.<</speech>>
<<speech "Daisy">>Good. Because I meant it. I don't like her. And I don't like how small I felt walking through my own door.<</speech>>
<p>James takes her hand, thumb rubbing once over her knuckles like he's afraid she'll pull away. She doesn't.</p>
<<speech "James">>I'm sorry I made you feel that way. I wasn't thinking. I won't put you in that position again.<</speech>>
<<speech "Daisy">>…Okay. I still need some time. But okay.<</speech>>
<p>He leans in and kisses her forehead, lingering there until she breathes out. She is still upset, but being close to him helps her start to relax.</p>
[[Get up|House Map]]<<set $world.location to "Home - Bedroom">>
<<= setup.locBannerHtml("bedroom")>>
<<speech "James">>I hear you. You don't like her. But this should be okay — I have a life too. If you'd done this with anyone, I wouldn't have been jealous. We have to be able to trust that.<</speech>>
<<stat "james.openness" 2>>
<<set $sophia.hd10TalkDone to true>>
<<set $sophia.hd10TalkChoice to "open">>
<p>Daisy sits up against the headboard, sheets pulled around her. She expected an apology. His answer leaves her uneasy in a different way.</p>
<<speech "Daisy">>So if I went to a waterpark with some guy from college and then sat on his sofa until you came home, you'd just… be fine.<</speech>>
<<speech "James">>I wouldn't love walking in on it. But I wouldn't treat you like you'd cheated. Friends exist, Daisy. I can't spend the rest of our marriage proving I'm not the guy she liked at twenty.<</speech>>
<<speech "Daisy">>That's easy to say when you're not the one standing in the doorway.<</speech>>
<p>He doesn't snap back. He just stays at the foot of the bed, palms open, hoping she'll try to understand what he means.</p>
<<speech "James">>I'm not asking you to like her. I'm asking you not to turn every conversation I have into a crime. If you had a life outside this room, I wouldn't be jealous. I'd want you to have that.<</speech>>
<<speech "Daisy">>…You really believe that.<</speech>>
<<speech "James">>I do. I love you. That doesn't mean we can't have friends outside our marriage.<</speech>>
<p>She looks past him into the hall she walked through last night. He seems sincere, though she still feels uneasy. Slowly, she begins to understand: he isn't admitting to anything. He wants them both to have more freedom in their marriage.</p>
<<speech "Daisy">>I still don't like her. Don't expect me to.<</speech>>
<<speech "James">>I don't. Just… don't shut me out over it.<</speech>>
<p>She gives a small nod. She hasn't forgiven him, but she doesn't want another fight. For now, it's a start.</p>
[[Get up|House Map]]<<set $world.location to "Town - Max's House">>
<<= setup.locBannerHtml("town")>>
<<if $today.maxTaught>>
<p>Max's house is quiet. They've finished today's session, so there's no need to stay.</p>
[[Leave|Town Map]]
<<elseif not setup.isTutorDay()>>
<p>Daisy knocks, but Max just waves from the window.</p>
<<speech "Max">>Oh — no session today, remember? Tuesdays, Thursdays, Saturdays. See you then!<</speech>>
[[Leave|Town Map]]
<<elseif $ekon.stage is 1>>
<<goto "Max House First Session">>
<<elseif $ekon.stage gte 2 and not $max.aaronIntrusion>>
<<goto "Max House Aaron Intrusion">>
<<elseif $max.aaronIntrusion and not $max.h2d11Done>>
<<goto "Max House H2D11">>
/* After PE research: tease 5 → friend video → tease 10 → Lena club → tease 15
(flash tits) → mom bathroom spy @ 15 → tease 20 (flash pussy) →
mom blindfold BJ @ 20. */
<<elseif $max.peResearchDone and $max.corruption gte 5 and not $max.aaronFriendVideoDone>>
<<goto "Max House Aaron Friend Video">>
<<elseif $max.peResearchDone and $max.aaronFriendVideoDone and $max.corruption gte 10 and not $max.lenaClubVideoDone>>
<<goto "Max House Lena Club Video">>
<<elseif $max.peResearchDone and $max.lenaClubVideoDone and $max.corruption gte 15 and not $max.momBathroomSpyDone>>
<<goto "Max House Mom Bathroom Spy">>
<<elseif $max.peResearchDone and $max.momBathroomSpyDone and $max.corruption gte 20 and not $max.momBlindfoldBjDone>>
<<goto "Max House Mom Blindfold">>
<<elseif $max.peResearchDone and $max.momBathroomSpyDone and $max.corruption lt 20>>
<<goto "Max House Tease Session 20">>
<<elseif $max.peResearchDone and $max.lenaClubVideoDone and $max.corruption lt 15>>
<<goto "Max House Tease Session 15">>
<<elseif $max.peResearchDone and $max.aaronFriendVideoDone and $max.corruption lt 10>>
<<goto "Max House Tease Session 10">>
<<elseif $max.peResearchDone and $max.corruption lt 5>>
<<goto "Max House Tease Session">>
<<else>>
<p>Max answers the door with his textbook already open, looking relieved to see her.</p>
<<speech "Max">>Perfect timing, I'm stuck on this whole page.<</speech>>
<<speech "Daisy">>Let's see it, then.<</speech>>
<p>Daisy walks him through it step by step until it clicks — thirty minutes gone before either of them notices.</p>
<<speech "Max">>You're a lifesaver. Seriously.<</speech>>
<<speech "Daisy">>That's what I'm here for.<</speech>>
<<set $today.maxTaught to true>>
<<run setup.advanceTime(1)>>
[[Leave|Town Map]]
<</if>>
/* ── First session — special, only happens once ───────────
Adapted from original MD5 (messy room → clean → stool/panty → study).
Leaving still hands off to Ekon Ambush (original MD6, without the
Mia / prostitute-video beat — see ekon.twee). ───────────────── */<<set $world.location to "Town - Max's House">>
<p>Daisy rings the bell at Max's place. He opens almost immediately, looking like he's been waiting by the door.</p>
<<speech "Max">>Hi Daisy — please, come in.<</speech>>
<<speech "Daisy">>Thanks.<</speech>>
<p>She follows him inside and stops. Clothes cover the floor, and nothing is in its place. It looks as though he hasn't cleaned in weeks.</p>
<img src="Images/Day 5/d510.jpg" alt="">
<<speech "Daisy">>Oh god. Do you actually live like this?<</speech>>
<<speech "Max">>Y-yeah. I mean… you're basically the first person besides me who's been in here, so I don't clean much.<</speech>>
<<speech "Daisy">>Alright. Let's clean up first, then we can study.<</speech>>
<<speech "Max">>Okay. Whatever you say.<</speech>>
[[Start cleaning|Max House First Clean]]<<set $world.location to "Town - Max's House">>
<p>They grab brooms and bags and start cleaning. Daisy tells Max where things should go while he hurries to keep up. Bit by bit, they clear enough space to study.</p>
<<speech "Daisy">>Okay — I need to reach above that cabinet. Bring me a stool.<</speech>>
<p>Max drags a stool over. Daisy climbs up without thinking twice about her skirt — until the fabric rides higher than it should, and a flash of her panties is briefly, unmistakably visible from the floor.</p>
<img src="Images/Day 5/d511.jpg" alt="">
<p>She glances down. Max has turned his face away, ears pink, very carefully not looking.</p>
<<speech "Daisy">>Max? What is it?<</speech>>
<<speech "Max">>Your… uh. Your panties were showing. I turned away.<</speech>>
<<speech "Daisy">>…You're a good kid. Help me down, will you?<</speech>>
<<speech "Max">>Yeah.<</speech>>
<p>About half an hour later the room is actually presentable — floor clear, surfaces wiped, a desk that can hold a textbook without losing it under laundry.</p>
<<speech "Daisy">>There. Now it looks like a room you can actually live in.<</speech>>
<<speech "Max">>Thank you so much, Daisy.<</speech>>
<<speech "Daisy">>Don't mention it. Now let's get some studying done.<</speech>>
<<speech "Max">>Yeah.<</speech>>
[[Start studying|Max House First Study]]<<set $world.location to "Town - Max's House">>
<p>They sit at the cleared desk. Daisy opens his notes and walks him through the problems one by one — slowing down when he struggles and giving hints when he's close.</p>
<img src="Images/Day 5/d512.png" alt="">
<p>Thirty minutes later the page finally makes sense to him. Daisy closes the book and stands, stretching.</p>
<<speech "Daisy">>I should get going.<</speech>>
<<speech "Max">>Thank you for coming. Really. For the cleaning and the math.<</speech>>
<<speech "Daisy">>You're welcome. Same schedule — Tuesdays, Thursdays, Saturdays.<</speech>>
<<speech "Max">>I'll be ready. Promise.<</speech>>
<p>He walks her to the door, looking more at ease than when she arrived. Outside, the street looks ordinary. It won't stay that way for long.</p>
<<set $today.maxTaught to true>>
<<run setup.advanceTime(1)>>
[[Leave|Ekon Ambush]]
/* ── Aaron intrusion — special, only happens once, second session ─
Three pages: the confrontation in Max's room (below), the dinner
table incident with Lena (Max House Aaron Dinner), and Aaron walking
Daisy out and threatening her directly (Max House Aaron Outside),
which is where all the stat changes for this beat land. ─────── */<<set $world.location to "Town - Max's House">>
<p>Daisy sat on the edge of Max's bed, laptop open between them as she explained a concept. Max was trying to focus, but his eyes kept drifting toward her legs whenever she shifted.</p>
<p>The door suddenly swung open without a knock.</p>
<p>Aaron stepped in like he owned the place, that same arrogant grin on his face. He looked at Max first, then his eyes slid over to Daisy and stayed there a second too long.</p>
<p>Max immediately stood up.</p>
<<speech "Max">>What the fuck are you doing here?<</speech>>
<p>Aaron chuckled, closing the door behind him with his foot.</p>
<<speech "Aaron">>What, you thought I was just gonna let it go, motherfucker? After what you and this bitch pulled?<</speech>>
<p>His gaze dragged over Daisy again, slow and deliberate.</p>
<<speech "Aaron">>Cute little tutor you've got. Didn't expect her to look this fuckable up close.<</speech>>
<p>Before Max could answer, footsteps approached and the door opened again. Max's mother stepped in, smiling, completely unaware of the tension.</p>
<img src="Images/Aaron/mother_intro.jpg" alt="">
<<speech "MaxMother" "Max's Mother">>Max, hey — oh, you're already here.<</speech>>
<p>She looked at Aaron warmly.</p>
<<speech "MaxMother" "Max's Mother">>This is Aaron. He helped me carry the bags at the market today when I was struggling. Such a polite young man. I invited him to stay for dinner.<</speech>>
<p>She then turned to Daisy.</p>
<<speech "MaxMother" "Max's Mother">>You're welcome too, sweetheart. You've been helping Max so much, the least we can do is feed you.<</speech>>
<p>Daisy forced a polite smile. Max looked like he wanted to sink through the floor.</p>
<<speech "MaxMother" "Max's Mother">>I'll go set the table. Come down when you're ready.<</speech>>
<p>The moment the door clicked shut, Aaron's expression changed. The polite mask dropped. He stepped closer to Max, voice low and viciously amused.</p>
<<speech "Aaron">>Hah. Look at you. Sitting there like a loser while I walk into your house.<</speech>>
<p>He glanced at the door Max's mother had just gone through, then turned back to Max with a dark smile.</p>
<<speech "Aaron">>Just wait and watch, Max. I'm gonna get so deep into your family's good books… and then I'm gonna fuck every single one of them while you sit there and take it.<</speech>>
<p>He leaned in slightly, eyes gleaming.</p>
<<speech "Aaron">>You've got an older sister, right? She's gonna be craving this dick soon. I'll have her on her knees, tongue out, showing you her mouth full of my cum like a good little slut. And your mom…<</speech>>
<p>Aaron let out a quiet, filthy laugh.</p>
<<speech "Aaron">>She already looks at me like she's been starving for a real man. Won't take long before she's begging for it too.<</speech>>
<p>His eyes flicked to Daisy again, lingering on her chest, then her mouth.</p>
<<speech "Aaron">>And you. You're already in the middle of it. Keep coming around… I'll make sure you get a front-row seat. Or maybe I'll put you on your knees next to them.<</speech>>
<p>He straightened up, that arrogant grin returning as if nothing had happened.</p>
<<speech "Aaron">>Anyway. Dinner's waiting. Don't keep your mom waiting, Max. Wouldn't want her to think her new favorite helper is being treated badly.<</speech>>
<p>Aaron opened the door and walked out, leaving the room heavy with silence and the weight of his words.</p>
<p>Neither spoke for a moment. Max finally broke the silence, his voice strained.</p>
<<speech "Max">>...I'm sorry. I don't know what's wrong with him.<</speech>>
<<speech "Daisy">>Don't apologize for him. That's not on you.<</speech>>
<p>She said it with more confidence than she felt. Aaron's words still troubled her as they went downstairs for dinner.</p>
[[Head down for dinner|Max House Aaron Dinner]]
/* ── Aaron intrusion, page 2 — the dinner table ───────────────── */<<set $world.location to "Home - Living Room">>
<p>The dining table was already set when Daisy and Max came downstairs. Max's mother was placing dishes while his older sister, Lena, sat across from the empty chair Aaron had claimed. She was in a simple home dress that hugged her hips a little too well.</p>
<p>Aaron stood up politely when the women entered, all charm.</p>
<<speech "Aaron">>Everything smells amazing.<</speech>>
<p>He said it to Max's mother with a warm smile. Then his eyes flicked to Lena.</p>
<img src="Images/Aaron/lean_intro.jpg" alt="">
<<speech "Aaron">>Your sister's even prettier up close, Max. You never mentioned that.<</speech>>
<p>Lena gave a small, flattered laugh and looked down, tucking a strand of hair behind her ear. Aaron's eyes were locked onto her, and Max knew exactly what he was thinking. His jaw tightened.</p>
<p>They began eating. Aaron kept the conversation light and respectful in front of Max's mother, asking about her day, complimenting the food, even offering to help with the grocery runs again. But every now and then his gaze would linger on Lena a second too long, or his foot would "accidentally" brush hers under the table.</p>
<p>Halfway through the meal, Aaron deliberately let his spoon slip from his fingers. It clattered onto the floor near Lena's chair.</p>
<<speech "Aaron">>Ah, clumsy.<</speech>>
<<speech "Lena">>It's fine, I'll get it.<</speech>>
<p>She bent down beside the table to pick up the spoon. Her dress rode up just enough. The soft curve of her ass became clearly visible from where Aaron and Max were sitting — smooth, round, the fabric stretching tight across it for a brief moment.</p>
<img src="Images/Aaron/sister_bend.webp" alt="">
<p>Aaron didn't even try to hide it. He stared openly, eyes dark with interest, a small smirk tugging at his lips. Max saw exactly where he was looking and clenched his fists under the table, but said nothing.</p>
<p>Lena sat back up, handed Aaron the spoon, and gave him a slightly shy smile.</p>
<<speech "Lena">>Here.<</speech>>
<<speech "Aaron">>Thanks. Appreciate it.<</speech>>
<p>The rest of dinner passed with the same uncomfortable tension. Aaron continued being the perfect guest to Max's mother while throwing small, charged looks at Lena… and occasionally at Daisy.</p>
<p>When the meal ended, Aaron stood and thanked Max's mother warmly.</p>
<<speech "Aaron">>Anytime you need help with the bags or anything else, just call me. I'm only one call away.<</speech>>
<p>He said it with that same polite smile, but the way his eyes briefly dropped over her figure made the offer feel heavier than it should have.</p>
[[Follow him outside|Max House Aaron Outside]]
/* ── Aaron intrusion, page 3 — outside, alone with Daisy ──────── */<<set $world.location to "Town">>
<p>Outside, the evening air was cooler. Aaron walked beside Daisy for a few steps before speaking.</p>
<<speech "Aaron">>You saw that, didn't you? How easy it already is.<</speech>>
<p>Daisy glanced at him.</p>
<<speech "Daisy">>You're doing something wrong. Using them like that… it's messed up.<</speech>>
<p>Aaron stopped walking and turned to face her fully. His grin was sharp, confident, and openly filthy.</p>
<<speech "Aaron">>Wrong? Baby, this is just the start. Give it a little time and I'll have that sister craving this dick. She'll be on her knees showing Max her cum-filled mouth like a good girl. Their mom won't be far behind either.<</speech>>
<p>His eyes dragged down Daisy's body, slow and deliberate.</p>
<<speech "Aaron">>And you… you should never have hit me with that pipe. Now you're on my list too. Keep coming around this house and pretty soon you'll be the one on your knees, taking every inch while that loser watches. My charm works fast. You'll see.<</speech>>
<p>He reached out and lightly brushed a finger along her jaw before dropping his hand.</p>
<<speech "Aaron">>Sleep well, tutor girl. I'll be seeing you soon.<</speech>>
<p>Aaron turned and walked off into the night, leaving Daisy standing there with his words still hanging in the air.</p>
<<set $max.aaronIntrusion to true>>
<<set $today.maxTaught to true>>
<<run setup.advanceTime(1)>>
<p>As she heads home, she tries to sort out how she feels.</p>
[[Shake it off — refuse to let him get to you|Max House Aaron Outside Defiant]]
[[Stay shaken — let the threat sit with you|Max House Aaron Outside Shaken]]
[[Admit it — some twisted part of you is curious|Max House Aaron Outside Thrill]]
/* ── Aaron intrusion, page 3 branches — how Daisy reacts ──────── */<<speech "Daisy">>(He's just a bully with money behind him. I'm not giving him the satisfaction.)<</speech>>
<p>Daisy sets her jaw and walks the rest of the way home at a steady pace, refusing to let his words dig in. She's not going to let some entitled prick's threats live rent-free in her head.</p>
<p class="scene-meta">Resolved, Daisy heads home for the night.</p>
[[Head home|House Map]]<p>Daisy doesn't say anything back. She just walks, his words replaying over and over, the warmth of his finger still ghosting on her jaw long after he's gone.</p>
<<speech "Daisy">>(He wasn't bluffing. I need to be careful.)<</speech>>
<<stat "player.corruption" 1>>
<p class="scene-meta">Shaken, Daisy heads home for the night.</p>
[[Head home|House Map]]<p>Daisy walks home slower than she needs to, annoyed at herself for it. She hates him, hates every word he said — and some small, unwelcome part of her hasn't stopped thinking about the way he looked at her.</p>
<<speech "Daisy">>(What is wrong with me? I shouldn't be thinking about this.)<</speech>>
<<stat "player.corruption" 2>>
<p class="scene-meta">Unsettled by her own reaction, Daisy heads home for the night.</p>
[[Head home|House Map]]
/* ═══════════════════════════════════════════
H2D11 — next tutoring special after Aaron dinner.
Daisy asks about bullying → Aaron's photo of Lena → study → PE incident.
Remake: research PE on Bedroom PC at home.
═══════════════════════════════════════════ */<<set $world.location to "Town - Max's House">>
<p>Daisy makes her way to Max's street again for the usual session. He opens before she finishes knocking, notebook under his arm.</p>
<<speech "Max">>Hi Daisy — please, come in.<</speech>>
<<speech "Daisy">>Hey. Are those guys still bullying you?<</speech>>
<<speech "Max">>Not… not the way they used to. But Aaron sent me this.<</speech>>
<p>He unlocks his phone with a shaky thumb and holds it out. On the screen is a photo of his sister Lena — exam papers spread on a desk, smiling like she's in the middle of a study date. Under it, Aaron's caption sits in plain text, casual and filthy at once:</p>
<div class="msg-shot">
<img src="Images/max/study_photo.jpg" alt="Photo Aaron sent Max">
<p class="msg-shot-caption">Your sister is my best friend now, and soon she'll be my best slut.</p>
<p class="msg-shot-from">— Aaron</p>
</div>
<<speech "Max">>They… they became best friends. He says they study together at college every day. She talks about him at dinner like he's some kind of hero. Mom thinks it's great. And he sends me that. Like it's a joke.<</speech>>
<p>Daisy's chest tightens. After what she saw at dinner — the spoon, the way Aaron looked at Lena — the photo doesn't feel like a joke at all.</p>
<<speech "Daisy">>Max… I'm so sorry. That isn't friendship. He's finding ways to get closer to her.<</speech>>
<<speech "Max">>I know. I just don't know what to do. If I tell her, she thinks I'm jealous. If I don't…<</speech>>
<<speech "Daisy">>Hey. We'll figure something out. For now — math. One problem at a time, okay? You shouldn't sit alone with that in your head.<</speech>>
<<speech "Max">>…Okay. Yeah. Studying.<</speech>>
[[Start studying|Max House H2D11 Study]]<<set $world.location to "Town - Max's House">>
<p>They sit at the desk. Daisy leans in over the textbook, walking him through the problem set the way she always does — patient, focused, close enough that her blouse dips when she points at the page.</p>
<img src="Images/Day 11/D1125.jpg" alt="">
<p>Max's eyes drop once. Then again. He tries to force them back to the numbers. It lasts maybe ten seconds.</p>
<<speech "Max">>(Oh god— her chest— I can't—)<</speech>>
<p>His face goes red. He freezes, thighs tight, breath short — and then it's already over. A wet heat blooms in his pants before either of them can pretend nothing happened.</p>
<img src="Images/Day 11/D1124.webp" alt="">
<<speech "Max">>I— I'm really sorry. It was a mistake. Your… cleavage. I got too excited and I— I came in my pants.<</speech>>
<<speech "Daisy">>…It's okay. Hey. Do you have a problem with finishing too fast? PE?<</speech>>
<<speech "Max">>I guess so. My last girlfriend left me because of it. I always finished too quickly.<</speech>>
<<speech "Daisy">>Don't worry. That can get better with time — and with the right information. You're not broken, Max.<</speech>>
<<speech "Max">>…Hope so.<</speech>>
<p>Daisy softens, still embarrassed for him but not unkind.</p>
<<speech "Daisy">>(Poor kid. I'll look this up on my laptop at home.)<</speech>>
<p>They try to get back to the textbook for a few more minutes, but the air stays awkward. Daisy closes the book gently.</p>
<<speech "Daisy">>That's enough for today. Same schedule, okay? And Max — about Aaron and your sister. Be careful. Don't let him be the only one telling her what happened.<</speech>>
<<speech "Max">>Thanks, Daisy. For… not laughing.<</speech>>
<<speech "Daisy">>Never.<</speech>>
<<set $max.h2d11Done to true>>
<<set $max.peResearchPending to true>>
<<set $today.maxTaught to true>>
<<run setup.advanceTime(1)>>
<<toast "Bedroom PC: research available" "good">>
[[Leave|Town Map]]
/* ═══════════════════════════════════════════
Phase 1 tease (corr 0→5) — cleavage only.
Each tease: +1 $max.corruption. Media: to_corr_5/.
═══════════════════════════════════════════ */<<set $world.location to "Town - Max's House">>
<p>Max opens the door, looking hopeful but nervous. He clearly remembers their last lesson and seems unsure how she will act around him now.</p>
<<speech "Max">>Hey. I, uh… prepped the page you marked.<</speech>>
<<speech "Daisy">>Good. Let's get to work.<</speech>>
<p>They sit at the desk with the textbook open. Daisy can keep this to a normal lesson, or try what she read about.</p>
<p class="scene-meta">Max's Corruption: <<= $max.corruption>> / 5</p>
<div id="can">
<<link "Keep the lesson professional">><<replace "#can">>
<p>She sits upright and focuses on the page, keeping her voice steady. As they work through the math, Max slowly relaxes into an ordinary lesson.</p>
<<speech "Max">>Thanks. That… really helped.<</speech>>
<<speech "Daisy">>Anytime.<</speech>>
<<set $today.maxTaught to true>>
<<run setup.advanceTime(1)>>
[[Leave|Town Map]]
<</replace>><</link>>
<<link "Tease him — show some cleavage">><<replace "#can">>
<<goto "Max House Cleavage Tease">>
<</replace>><</link>>
</div><<set $world.location to "Town - Max's House">>
<<set _roll to random(1, 3)>>
<p>Daisy leans in over the problem set a little further than she needs to, blouse dipping as she points at the page. She doesn't call attention to it — she just stays there, close, like it's an accident that keeps happening.</p>
<<if _roll is 1>>
<img src="Images/max/to_corr_5/cleavege1.gif" alt="">
<p>Max's eyes snap down, then away, then back like he can't help it. His pencil freezes mid-scratch.</p>
<<speech "Max">>I— um. Could you… the formula. Again?<</speech>>
<<speech "Daisy">>Focus on the page, Max. Not on me.<</speech>>
<p>He swallows hard, but still can't keep his eyes on the page.</p>
<<elseif _roll is 2>>
<video src="Images/max/to_corr_5/cleavege2.mp4" autoplay muted loop playsinline></video>
<p>She shifts closer to "check his work," shoulder brushing his, neckline open enough that the air feels thicker. Max's knee starts bouncing under the desk.</p>
<<speech "Max">>S-sorry. It's hot in here.<</speech>>
<<speech "Daisy">>Is it? I feel fine. Try this step next.<</speech>>
<p>His handwriting gets worse with each line. He keeps trying, though his focus is clearly slipping.</p>
<<else>>
<video src="Images/max/to_corr_5/cleaveg3.webm" autoplay muted loop playsinline></video>
<p>Daisy reaches across him for the eraser, holding the lean a beat too long. Max goes still, breath shallow, eyes locked somewhere they shouldn't be.</p>
<<speech "Max">>Daisy… I can't— I mean the problem. I can't think.<</speech>>
<<speech "Daisy">>Then practice thinking through it. That's the point.<</speech>>
<p>He nods like a man taking medical advice, flushed to the ears.</p>
<</if>>
<p>It doesn't take long. His thighs lock, breath hitching — and then he's finishing in his pants again, helpless against it, a dark wet heat spreading before he can even shove the chair back.</p>
<img src="Images/max/to_corr_5/cum_in_pants.webp" alt="">
<<speech "Max">>I— I'm sorry. Again. I couldn't hold it… your chest, I just—<</speech>>
<<speech "Daisy">>Breathe. It's okay. This is why we practice.<</speech>>
<p>Max's face is bright red. He avoids her eyes and moves his notebook over his lap, though it's too late to hide what happened.</p>
<<stat "max.corruption" 1>>
<<if $max.corruption gte 5>>
<p>Even through the mess, something in his gaze has shifted — hungrier, less able to hide it. The teasing is working. Maybe too well.</p>
<<toast "Max's Corruption 5 — go to Max's house" "good">>
<<else>>
<p>He looks just as ashamed as before, but he held on longer this time. Daisy takes that as a small step forward, even though the lesson ended the same way.</p>
<</if>>
<<set $today.maxTaught to true>>
<<run setup.advanceTime(1)>>
[[Leave|Town Map]]
/* ═══════════════════════════════════════════
Phase 2 tease (corr 5→10, after Aaron friend video).
Cleavage still available; no-bra teases unlocked (to_corr_10/).
PE in pants still happens — a little later than phase 1.
═══════════════════════════════════════════ */<<set $world.location to "Town - Max's House">>
<p>Max lets her in with that same nervous hope — and a new edge under it, like he knows the lessons aren't only about math anymore.</p>
<<speech "Max">>Hey. Ready when you are.<</speech>>
<<speech "Daisy">>Good. Sit down.<</speech>>
<p>They sit at the desk again. Daisy can stick to math or take the practice further.</p>
<p class="scene-meta">Max's Corruption: <<= $max.corruption>> / 10</p>
<div id="can">
<<link "Keep the lesson professional">><<replace "#can">>
<p>She keeps her blouse buttoned, her voice even, the page the only thing that matters. Max lasts the whole hour without incident — and looks almost disappointed about it.</p>
<<speech "Max">>That was… normal. Thanks.<</speech>>
<<speech "Daisy">>Normal's allowed too.<</speech>>
<<set $today.maxTaught to true>>
<<run setup.advanceTime(1)>>
[[Leave|Town Map]]
<</replace>><</link>>
<<link "Tease him — cleavage">><<replace "#can">>
<<goto "Max House Cleavage Tease Late">>
<</replace>><</link>>
<<link "Tease him — no bra">><<replace "#can">>
<<goto "Max House No Bra Tease">>
<</replace>><</link>>
</div><<set $world.location to "Town - Max's House">>
<<set _roll to random(1, 3)>>
<p>Daisy leans in again — same "accident," deeper this time. Max already knows the game and still can't look away.</p>
<<if _roll is 1>>
<img src="Images/max/to_corr_5/cleavege1.gif" alt="">
<<elseif _roll is 2>>
<video src="Images/max/to_corr_5/cleavege2.mp4" autoplay muted loop playsinline></video>
<<else>>
<video src="Images/max/to_corr_5/cleaveg3.webm" autoplay muted loop playsinline></video>
<</if>>
<<speech "Max">>I can handle it. I can— just keep going.<</speech>>
<<speech "Daisy">>Then keep solving. Eyes on the numbers when you can.<</speech>>
<p>He lasts longer than in the first weeks, finishing one problem and then another. His jaw is tight, but he keeps breathing slowly. He is making progress.</p>
<p>Then his pencil slips and his thighs tense. A few seconds later he's finishing in his pants anyway, quieter than before but just as helpless.</p>
<img src="Images/max/to_corr_5/cum_in_pants.webp" alt="">
<<speech "Max">>Shit— sorry. I held it longer. I swear I did.<</speech>>
<<speech "Daisy">>You did. That's the point.<</speech>>
<<stat "max.corruption" 1>>
<<if $max.momBathroomSpyDone>>
<<if $max.corruption gte 20 and not $max.momBlindfoldBjDone>>
<<toast "Max's Corruption 20 — go to Max's house" "good">>
<<elseif $max.corruption gte 20>>
<<toast "Max's Corruption 20" "good">>
<<else>>
<<run setup.toast("Max's Corruption " + $max.corruption + "/20")>>
<</if>>
<<elseif $max.lenaClubVideoDone and $max.corruption gte 15>>
<<toast "Max's Corruption 15 — go to Max's house" "good">>
<<elseif $max.lenaClubVideoDone>>
<<run setup.toast("Max's Corruption " + $max.corruption + "/15")>>
<<elseif $max.corruption gte 10>>
<<toast "Max's Corruption 10 — go to Max's house" "good">>
<<else>>
<<run setup.toast("Max's Corruption " + $max.corruption + "/10")>>
<</if>>
<<set $today.maxTaught to true>>
<<run setup.advanceTime(1)>>
[[Leave|Town Map]]<<set $world.location to "Town - Max's House">>
<<set _roll to random(1, 3)>>
<p>Daisy excuses herself for a moment and returns without her bra. Her breasts move beneath her top as she leans forward to mark his work, and Max notices right away.</p>
<<if _roll is 1>>
<video src="Images/max/to_corr_10/without_bra_tease.webm" autoplay muted loop playsinline></video>
<<elseif _roll is 2>>
<img src="Images/max/to_corr_10/without_bra_tease2.gif" alt="">
<<else>>
<img src="Images/max/to_corr_10/without_bra_tease3.gif" alt="">
<</if>>
<<speech "Max">>Daisy… you're not wearing— I mean— I can see—<</speech>>
<<speech "Daisy">>Focus. If you can last through this, you're getting better.<</speech>>
<p>He tries. He really tries — white-knuckled, staring at the textbook, stealing glances and flinching every time she shifts. Minutes stretch. His breathing goes ragged long before his body finally gives out.</p>
<p>When he finishes in his pants this time, it comes later — after a longer fight, after more trembling control — but it still comes, a wet heat he can't stop.</p>
<img src="Images/max/to_corr_5/cum_in_pants.webp" alt="">
<<speech "Max">>I… almost made it. I almost—<</speech>>
<<speech "Daisy">>Almost is better than before. We'll keep going.<</speech>>
<p>Max nods, grateful but deeply embarrassed, with his face red and his notebook already covering his lap.</p>
<<stat "max.corruption" 1>>
<<if $max.momBathroomSpyDone>>
<<if $max.corruption gte 20 and not $max.momBlindfoldBjDone>>
<<toast "Max's Corruption 20 — go to Max's house" "good">>
<<elseif $max.corruption gte 20>>
<<toast "Max's Corruption 20" "good">>
<<else>>
<<run setup.toast("Max's Corruption " + $max.corruption + "/20")>>
<</if>>
<<elseif $max.lenaClubVideoDone and $max.corruption gte 15>>
<<toast "Max's Corruption 15 — go to Max's house" "good">>
<<elseif $max.lenaClubVideoDone>>
<<run setup.toast("Max's Corruption " + $max.corruption + "/15")>>
<<elseif $max.corruption gte 10>>
<<toast "Max's Corruption 10 — go to Max's house" "good">>
<<else>>
<<run setup.toast("Max's Corruption " + $max.corruption + "/10")>>
<</if>>
<<set $today.maxTaught to true>>
<<run setup.advanceTime(1)>>
[[Leave|Town Map]]
/* ═══════════════════════════════════════════
Phase 3 tease (corr 10→15, after Lena club videos).
Cleavage, no-bra, and flash tits unlocked (to_corr_15 / flash assets).
PE in pants still — takes the longest yet.
═══════════════════════════════════════════ */<<set $world.location to "Town - Max's House">>
<p>Max opens the door looking more eager than nervous now — like the club videos never fully left his head, and Daisy is the only thing that drowns them out.</p>
<<speech "Max">>Hey. I… prepped. Like always.<</speech>>
<<speech "Daisy">>Good. Sit.<</speech>>
<p>The textbook offers little cover for what they're doing. She can stick to math or go further than removing her bra.</p>
<p class="scene-meta">Max's Corruption: <<= $max.corruption>> / 15</p>
<div id="can">
<<link "Keep the lesson professional">><<replace "#can">>
<p>She keeps her clothes on and gives him an ordinary lesson. Max gets through the hour without trouble, though he seems disappointed that she didn't test him.</p>
<<speech "Max">>That was… fine. I guess.<</speech>>
<<speech "Daisy">>Fine is allowed.<</speech>>
<<set $today.maxTaught to true>>
<<run setup.advanceTime(1)>>
[[Leave|Town Map]]
<</replace>><</link>>
<<link "Tease him — cleavage">><<replace "#can">>
<<goto "Max House Cleavage Tease Late">>
<</replace>><</link>>
<<link "Tease him — no bra">><<replace "#can">>
<<goto "Max House No Bra Tease">>
<</replace>><</link>>
<<link "Flash him — bare breasts">><<replace "#can">>
<<goto "Max House Flash Tease">>
<</replace>><</link>>
</div><<set $world.location to "Town - Max's House">>
<<set _roll to random(1, 3)>>
<p>Daisy doesn't hide behind a blouse this time. She lifts her top and holds it there — bare breasts in his face while she still points at the page like this is a normal tutoring method.</p>
<<if _roll is 1>>
<img src="Images/max/flash_tits.webp" alt="">
<<elseif _roll is 2>>
<img src="Images/max/flash_tits2.webp" alt="">
<<else>>
<img src="Images/max/flash_tits3.webp" alt="">
<</if>>
<<speech "Max">>Oh my god— Daisy— I can see everything—<</speech>>
<<speech "Daisy">>I know. Keep working. If you can last through this, you're actually improving.<</speech>>
<p>He lasts longer than any session before — minutes of shaky breathing, eyes flicking from the textbook to her chest and back, knuckles white on the pencil. He makes it through problem after problem, sweat on his brow, almost proud of himself.</p>
<p>He finally loses control. He has lasted longer than ever, but still finishes hard in his pants, unable to hold back a strained cry.</p>
<img src="Images/max/to_corr_5/cum_in_pants.webp" alt="">
<<speech "Max">>I held it… so long… and I still— fuck— I'm sorry—<</speech>>
<<speech "Daisy">>You held it longer. That's the win. Cover up and breathe.<</speech>>
<p>She lowers her top. Max sits dazed but grateful, with his notebook over his lap and his eyes still fixed on her chest.</p>
<<stat "max.corruption" 1>>
<<if $max.momBathroomSpyDone>>
<<if $max.corruption gte 20 and not $max.momBlindfoldBjDone>>
<<toast "Max's Corruption 20 — go to Max's house" "good">>
<<elseif $max.corruption gte 20>>
<<toast "Max's Corruption 20" "good">>
<<else>>
<<run setup.toast("Max's Corruption " + $max.corruption + "/20")>>
<</if>>
<<elseif $max.corruption gte 15>>
<<toast "Max's Corruption 15 — go to Max's house" "good">>
<<else>>
<<run setup.toast("Max's Corruption " + $max.corruption + "/15")>>
<</if>>
<<set $today.maxTaught to true>>
<<run setup.advanceTime(1)>>
[[Leave|Town Map]]
/* ═══════════════════════════════════════════
Phase 4 tease (corr 15→20, after mom bathroom spy).
Prior teases + flash pussy (Images/max/pussy_flashh1, flash_pussy2/3).
PE in pants — later still, harder tease.
═══════════════════════════════════════════ */<<set $world.location to "Town - Max's House">>
<p>Max lets her in, still looking shaken by the bathroom video. Yet he seems eager to see her too. Whether he needs the lesson or simply a distraction, he wants her there.</p>
<<speech "Max">>Hey. I… prepped again.<</speech>>
<<speech "Daisy">>Sit down and open your textbook.<</speech>>
<p>She can keep it clean — or push past bare breasts into something even more dangerous.</p>
<p class="scene-meta">Max's Corruption: <<= $max.corruption>> / 20</p>
<div id="can">
<<link "Keep the lesson professional">><<replace "#can">>
<p>She keeps her clothes on and gives him an ordinary lesson. Max gets through the whole hour, though he seems disappointed that she didn't test him further.</p>
<<speech "Max">>That was… fine. I guess.<</speech>>
<<speech "Daisy">>Fine is allowed.<</speech>>
<<set $today.maxTaught to true>>
<<run setup.advanceTime(1)>>
[[Leave|Town Map]]
<</replace>><</link>>
<<link "Tease him — cleavage">><<replace "#can">>
<<goto "Max House Cleavage Tease Late">>
<</replace>><</link>>
<<link "Tease him — no bra">><<replace "#can">>
<<goto "Max House No Bra Tease">>
<</replace>><</link>>
<<link "Flash him — bare breasts">><<replace "#can">>
<<goto "Max House Flash Tease">>
<</replace>><</link>>
<<link "Flash him — pussy">><<replace "#can">>
<<goto "Max House Pussy Flash Tease">>
<</replace>><</link>>
</div><<set $world.location to "Town - Max's House">>
<<set _roll to random(1, 3)>>
<p>Daisy doesn't stop at her top this time. She shifts on the chair, hikes her skirt, and pulls her panties aside — bare pussy on display while she still taps the textbook like this is just another teaching tool.</p>
<<if _roll is 1>>
<img src="Images/max/pussy_flashh1.webp" alt="">
<<elseif _roll is 2>>
<img src="Images/max/flash_pussy2.gif" alt="">
<<else>>
<img src="Images/max/flash_pussy3.gif" alt="">
<</if>>
<<speech "Max">>Daisy— holy fuck— I can see your— your pussy— I—<</speech>>
<<speech "Daisy">>I know. Keep solving. If you can last through this, you're actually getting control.<</speech>>
<p>He lasts longer than in any previous session, gripping his pencil as he takes short, shaky breaths. His eyes move between her open thighs and the page. He solves one problem after another, starting to feel proud of his control.</p>
<p>Then he loses control. Despite lasting longer than ever, he finishes hard in his pants with a strained cry, his eyes still fixed between her legs.</p>
<img src="Images/max/to_corr_5/cum_in_pants.webp" alt="">
<<speech "Max">>I held it… I held it so long… and I still— fuck— I'm sorry—<</speech>>
<<speech "Daisy">>You held it longer. That's the win. Cover up. Breathe.<</speech>>
<p>She smooths her skirt down. Max sits dazed and grateful, his face red with shame. He presses his notebook over his lap but keeps staring where her pussy was.</p>
<<stat "max.corruption" 1>>
<<if $max.corruption gte 20 and not $max.momBlindfoldBjDone>>
<<toast "Max's Corruption 20 — go to Max's house" "good">>
<<elseif $max.corruption gte 20>>
<<toast "Max's Corruption 20" "good">>
<<else>>
<<run setup.toast("Max's Corruption " + $max.corruption + "/20")>>
<</if>>
<<set $today.maxTaught to true>>
<<run setup.advanceTime(1)>>
[[Leave|Town Map]]
/* ═══════════════════════════════════════════
Max corr ≥ 5 — Aaron's friend video + Aaron at house + Meanwhile (mom).
Images: Images/max/ (lena_friend_bj, washing_stuck, aaron_licking, aaron_pussy_lick)
═══════════════════════════════════════════ */<<set $world.location to "Town - Max's House">>
<p>Max opens the door looking worse than usual — pale, phone already in his hand like he's been holding it for an hour.</p>
<<speech "Max">>Daisy… can you come in? I need to show you something.<</speech>>
<<speech "Daisy">>What happened?<</speech>>
<<speech "Max">>Aaron sent me another video.<</speech>>
<p>He unlocks the screen with a shaking thumb and turns it toward her before he can lose his nerve.</p>
<img src="Images/max/lena_friend_bj.gif" alt="">
<p>On the recording, a girl is on her knees in front of Aaron, taking him deep, the camera angle deliberate and cruel. Max's face is somewhere between rage and nausea.</p>
<<speech "Daisy">>…But that's not Lena, right?<</speech>>
<<speech "Max">>No. It's not. But she's Lena's best friend. They sit together in every class. If Aaron already got her to… do that… he said next it would be Lena. He said it like a promise.<</speech>>
<<speech "Daisy">>Max— don't spiral. Lena's not going to do anything like that. She's not some girl he can just order around.<</speech>>
<<speech "Max">>You saw the other photo. They're always together now. Studying. Laughing. What if—<</speech>>
<<speech "Daisy">>Hey. Look at me. Lena will not do that. Aaron is trying to get in your head. That's his whole game.<</speech>>
<p>Max nods, but he doesn't look convinced. The video is still paused on the last frame. Daisy's eyes snag on it a second longer than she means to.</p>
<div id="can">
<<link "Think — God, his dick is big">><<replace "#can">>
<<stat "player.corruption" 1>>
<<speech "Daisy">>(…It's big. Bigger than I expected. Why am I even looking at that?)<</speech>>
<p>She forces her gaze off the phone and back to Max's face, heat still sitting under her skin.</p>
<<speech "Daisy">>Delete it if you can. Or keep it in case you need to show the police. But don't watch it on a loop. That's what he wants.<</speech>>
<<speech "Max">>…Okay.<</speech>>
[[Continue|Max House Aaron Returns]]
<</replace>><</link>>
<<link "Think — I'm loyal to James">><<replace "#can">>
<<stat "player.loveJames" 1>>
<<speech "Daisy">>(No. I'm not going there. James is my husband. Aaron is a predator with a camera.)<</speech>>
<p>She takes a breath and rests a hand on Max's shoulder, keeping the gesture calm and reassuring.</p>
<<speech "Daisy">>Delete it if you can. Or keep it in case you need to show the police. But don't watch it on a loop. That's what he wants.<</speech>>
<<speech "Max">>…Okay.<</speech>>
[[Continue|Max House Aaron Returns]]
<</replace>><</link>>
</div><<set $world.location to "Town - Max's House">>
<p>The bedroom door opens without a knock.</p>
<p>Aaron steps in like he owns the place, same arrogant grin, eyes sliding from Max to Daisy and back.</p>
<<speech "Max">>You again—?<</speech>>
<<speech "Aaron">>Yeah, bitch. Your mom brought me here again.<</speech>>
<p>Before Max can snarl anything else, footsteps approach and Max's mother appears in the doorway, smiling, completely oblivious.</p>
<<speech "MaxMother" "Max's Mother">>Hey Max — oh, Daisy, you're here too. Good.<</speech>>
<<speech "MaxMother" "Max's Mother">>Aaron said he can help with the plumbing. Your dad and he are going to fix it. You should study, my boy — let the men handle the pipes.<</speech>>
<p>She pats Aaron's arm like he's already family and heads back down the hall.</p>
<<speech "Aaron">>(to Max, low) See? Deeper every visit. Study hard, loser.<</speech>>
<p>He leaves with that same polite mask sliding back on. The door clicks shut. The silence he leaves behind is worse than the video.</p>
<<speech "Daisy">>…Max.<</speech>>
<<speech "Max">>I know. Just— stay for the lesson. Please. I need something normal.<</speech>>
<p>Daisy sits down. Outside the room, the family carries on with their day.</p>
[[Meanwhile…|Max House Meanwhile Aaron]]<<set $world.location to "Max's House - Plumbing">>
<p class="scene-meta">Meanwhile…</p>
<p>Down the hall, tools clink. Max's father crouches by an open pipe panel while Aaron holds a light like a helpful neighbor — all smiles, sleeves rolled up, the perfect guest.</p>
<<speech "MaxDad" "Max's Dad">>Alright, kid. Hand me that wrench— no, the smaller one. Yeah.<</speech>>
<<speech "Aaron">>Got it.<</speech>>
<<speech "MaxDad" "Max's Dad">>Screwdriver's still in the basement. Grab it for me, would you? Top shelf by the washer.<</speech>>
<<speech "Aaron">>On it.<</speech>>
<p>Aaron jogs the stairs like a good helper. The basement smells like detergent and damp concrete. The washer is open. And Max's mother is bent over it, head and shoulders in the drum, wrestling a stuck load of clothes, completely unaware she's not alone.</p>
<img src="Images/max/washing_stuck.jpg" alt="">
<p>Aaron stops on the bottom step to look, then quietly moves closer.</p>
<p>His hands settle on her ass — firm, claiming — like he has every right. A sharp little spank follows, testing how far the lie will go.</p>
<video src="Images/max/washing_stuck_spank.mp4" autoplay muted loop playsinline></video>
<<speech "MaxMother" "Max's Mother">>Mmm— honey, you're too naughty today…<</speech>>
<p>She doesn't turn around. She thinks it's her husband. Aaron's smile is pure poison.</p>
<p>He hooks her panties and slides them down her thighs. She gasps, still half-buried in the machine, still not looking back.</p>
<video src="Images/max/washing_stuck_remove_panties.mp4" autoplay muted loop playsinline></video>
<p>Then his mouth is on her — tongue working slow, deliberate, keeping her quiet and confused and wet while the washer hums.</p>
<img src="Images/max/aaron_licking.gif" alt="">
<img src="Images/max/aaron_pussy_lick.gif" alt="">
<<speech "MaxMother" "Max's Mother">>Ahh… hnn— soft, baby… not so loud… the kids…<</speech>>
<p>She moans into the drum, soft and stifled, hips twitching against a face that is not her husband's. Aaron's hands dig into her hips. He stands, unbuckles his belt, and frees his cock — already hard. He slaps it against her, lining up, about to push in—</p>
<img src="Images/Aaron/dick_slap.webp" alt="">
<p>He checks the time on his phone. He's been gone too long just to fetch a screwdriver. If he's caught with his pants down, his act will fall apart.</p>
<<speech "Aaron">>(I'll fuck you later, bitch.)<</speech>>
<p>He smirks, tucks himself back, and yanks her panties up like nothing happened — a quick pat on her ass for the road.</p>
<<speech "Aaron">>(whisper) Later, honey.<</speech>>
<p>He takes the stairs two at a time, the helpful neighbor again, screwdriver already in hand by the time Max's dad sees him.</p>
<<speech "Aaron">>Found it. Sorry — shelf was a mess.<</speech>>
<<speech "MaxDad" "Max's Dad">>No problem. Hold the light steady.<</speech>>
<p>Upstairs, Daisy and Max still sit with the textbook open — none the wiser. The house keeps its secrets for one more afternoon.</p>
<<set $max.aaronFriendVideoDone to true>>
<<set $today.maxTaught to true>>
<<run setup.advanceTime(1)>>
<<toast "Max route: Aaron's video" "good">>
[[Leave|Town Map]]
/* ═══════════════════════════════════════════
Max corr ≥ 10 — Aaron's club videos of Lena.
Images: dancing_in_club.gif, club_ass_grope.gif, flash_tits.webp
═══════════════════════════════════════════ */<<set $world.location to "Town - Max's House">>
<p>Max barely waits for her to step inside. His face is pale and tense, and his phone is already unlocked.</p>
<<speech "Max">>Daisy— please. Look at this. Aaron sent it last night.<</speech>>
<p>He turns the screen toward her. Music thumps tinny through the speaker. On the video, Lena is in a club — lights strobing, body moving to the beat, laughing, free in a way Max has never looked free.</p>
<img src="Images/max/dancing_in_club.gif" alt="">
<<speech "Max">>That's my sister. He was there. He filmed her.<</speech>>
<<speech "Daisy">>Max… they're just out having fun. You're thinking too much. People dance. Clubs are loud. It doesn't mean—<</speech>>
<<speech "Max">>There's more.<</speech>>
[[Next|Max House Lena Club Video 2]]<<set $world.location to "Town - Max's House">>
<p>He swipes. The next clip is worse — closer, uglier. Aaron's hand is on Lena's ass, squeezing, claiming, while she dances and the crowd blurs around them. Whether she notices, whether she minds, the camera makes it look inevitable.</p>
<img src="Images/max/club_ass_grope.gif" alt="">
<<speech "Max">>He's touching her. In public. And sending it to me like a trophy.<</speech>>
<p>Daisy opens her mouth. Nothing comes out. The easy comfort from a minute ago is gone. She can still hear her own voice saying <em>you're thinking too much</em>, and it tastes like ash.</p>
<<speech "Max">>Daisy… say something. Please.<</speech>>
<p>He is shaking, with tears in his eyes, looking at her as though she might still know how to make things right.</p>
<div id="can">
<<link "Stay silent">><<replace "#can">>
<<set $max.lenaClubChoice to "silent">>
<p>Daisy swallows and looks from the floor to the paused video, then back to Max. She wants to comfort him, but nothing she could say feels honest or helpful.</p>
<<speech "Max">>…Yeah. I didn't think so.<</speech>>
<p>He locks the phone. The silence in the room is worse than the music was.</p>
<<speech "Daisy">>I'm sorry, Max. I— I don't know what to say that helps.<</speech>>
<<speech "Max">>Just… stay. Study. Anything normal.<</speech>>
<p>They sit with the textbook open and get almost nothing done. When Daisy leaves, the club lights still burn behind her eyes.</p>
<<set $max.lenaClubVideoDone to true>>
<<set $today.maxTaught to true>>
<<run setup.advanceTime(1)>>
<<toast "Max route: Lena club videos" "good">>
[[Leave|Town Map]]
<</replace>><</link>>
<<link "Show him your breasts — distract him / comfort him">><<replace "#can">>
<<set $max.lenaClubChoice to "flash">>
<<stat "player.corruption" 1>>
<<stat "max.corruption" 1>>
<p>Daisy's hands move before her better judgment can stop them. She pulls her top up — bare, soft, sudden — offering the only distraction she knows still works on him.</p>
<img src="Images/max/flash_tits.webp" alt="">
<<speech "Daisy">>Hey. Look at me. Not the phone. Not him.<</speech>>
<p>Max's breath catches. The fear in his face fractures into shock, hunger, shame — all of it. His eyes lock on her chest like a drowning man grabbing a rope.</p>
<<speech "Max">>Daisy… you don't have to—<</speech>>
<<speech "Daisy">>I know. Breathe. One problem at a time. Aaron doesn't get both of you today.<</speech>>
<p>He nods, too fast, face burning. The phone is face-down on the desk. For a few minutes the only thing in the room is her, and the shaky way he tries to study while glancing at what she's still showing him.</p>
<p>When she covers up, his hands are still trembling, but he seems calmer. He looks at her as though he needs her to keep him that way.</p>
<<speech "Max">>Thank you. I… needed that. I hate that I needed that.<</speech>>
<<speech "Daisy">>We'll figure out Lena. Later. For now— math.<</speech>>
<<set $max.lenaClubVideoDone to true>>
<<set $today.maxTaught to true>>
<<run setup.advanceTime(1)>>
<<toast "Max route: Lena club videos" "good">>
[[Leave|Town Map]]
<</replace>><</link>>
</div>
/* ═══════════════════════════════════════════
Max corr ≥ 15 — Mom's text thread + Aaron bathroom spy video.
Media: Images/max/mom_spying.webm
═══════════════════════════════════════════ */<<set $world.location to "Town - Max's House">>
<p>Max opens the door looking wrecked — red eyes, shoulders hunched, phone already unlocked in his hand like he can't put it down.</p>
<<speech "Daisy">>Max? Hey. What happened?<</speech>>
<<speech "Max">>Can you… just come in. Please.<</speech>>
<p>She follows him to his room. He shuts the door softer than usual, then holds the phone out with both hands so it won't shake as much.</p>
<<speech "Max">>My mom doesn't know much about tech. She reuses the same password on everything. I can open her Messages. I… I shouldn't have. But after Aaron, after Lena— I had to check.<</speech>>
<<speech "Daisy">>Okay. Show me.<</speech>>
<<speech "Max">>She was talking to her friend about Aaron.<</speech>>
<p>The thread is ordinary at first — blue and gray bubbles, a woman's chat with a girlfriend, nothing that should make a son look this sick.</p>
<div class="msg-thread-shot">
<p class="msg-thread-shot-label">Linda — Messages</p>
<div class="msg-thread-row out">
<span class="msg-who">Linda</span>
<p>There's a young man who's been helping me lately. He's about 21. He carries bags and fixes things around the house. He's so polite.</p>
</div>
<div class="msg-thread-row in">
<span class="msg-who">Kathy</span>
<p>Ooh. Is he muscular? Tall?</p>
</div>
<div class="msg-thread-row out">
<span class="msg-who">Linda</span>
<p>Yeah… he's Black, tall, muscular. Always smiling.</p>
</div>
<div class="msg-thread-row in">
<span class="msg-who">Kathy</span>
<p>Linda, you should definitely go for his dick. I mean I've seen Black guys have some huge cocks 😏</p>
</div>
<div class="msg-thread-row out">
<span class="msg-who">Linda</span>
<p>Nahh, I don't think so.</p>
</div>
<div class="msg-thread-row in">
<span class="msg-who">Kathy</span>
<p>You should just see it once, darling 😘</p>
</div>
</div>
<<speech "Daisy">>…So what's wrong? Your mom didn't agree with her. She said no.<</speech>>
<<speech "Max">>Yeah. I thought so too, until later that day.<</speech>>
[[Next|Max House Mom Bathroom Spy 2]]<<set $world.location to "Town - Max's House">>
<<speech "Max">>Aaron sent me this. Same day as those texts.<</speech>>
<p>He swipes to another chat — Aaron's number, a video, a caption underneath like a trophy.</p>
<div class="msg-shot">
<video src="Images/max/mom_spying.webm" autoplay muted loop playsinline></video>
<p class="msg-shot-caption">I put a camera in the bathroom. Look what I found. Your mom wants my dick in her pussy.</p>
<p class="msg-shot-from">— Aaron</p>
</div>
<p>On the recording, Max's mother is in the bathroom doorway — peeping while Aaron showers, his thick cock visible through steam and glass. Her hand is shoved down the front of her shorts, touching herself, eyes fixed on him like she can't look away.</p>
<<speech "Daisy">>…Oh my god.<</speech>>
<p>Daisy's eyes stay on the screen a second longer than they should. She has to decide what she actually thinks.</p>
[[Any girl would want to watch a cock like that.|Max House Mom Bathroom Spy Desire]]
[[I shouldn't be looking at this.|Max House Mom Bathroom Spy Look Away]]<<set $max.momSpyChoice to "watch">>
<<speech "Daisy">>(God… looking at that, any woman would want to watch. I hate that I even thought it.)<</speech>>
<<stat "player.corruption" 1>>
[[Continue|Max House Mom Bathroom Spy After]]<<set $max.momSpyChoice to "lookaway">>
<<speech "Daisy">>(I shouldn't look at this. That's not mine to stare at — and it's not James.)<</speech>>
<<stat "player.loveJames" 1>>
[[Continue|Max House Mom Bathroom Spy After]]<<speech "Max">>She said no to her friend. She said she wouldn't. And then she's… watching him. Touching herself. In our house. With a camera he planted.<</speech>>
<p>Max's voice cracks. He drops onto the bed and turns his phone face-down, though he can't forget what he saw.</p>
<<speech "Max">>Daisy… she said no. So why does that picture exist?<</speech>>
<<speech "Daisy">>Because Aaron is a predator with a camera, Max. Saying no in a text doesn't mean she's safe from him filming her. And it doesn't mean he won't keep pushing until the "no" turns soft.<</speech>>
<<speech "Max">>Mom would never— she loves Dad. She—<</speech>>
<<speech "Daisy">>I know. Look at me. You did the right thing showing someone. Don't sit with this alone.<</speech>>
<p>He nods, but his eyes keep flicking to the dark phone. The textbook is still on the desk. Neither of them opens it.</p>
<<speech "Max">>I can't study today. I just… needed you to see it. So I'm not crazy.<</speech>>
<<speech "Daisy">>You're not crazy. We'll work out what to do next once you've had time to calm down. For now — breathe. Delete it if you can stomach it, or keep it if you ever need proof. But stop replaying it.<</speech>>
<<speech "Max">>…Thanks, Daisy.<</speech>>
<p>She squeezes his shoulder once and lets herself out. In the hall, the house smells like detergent and dinner prep — ordinary, warm, and suddenly not safe at all.</p>
<<set $max.momBathroomSpyDone to true>>
<<set $today.maxTaught to true>>
<<run setup.advanceTime(1)>>
<<toast "Max route: Mom bathroom photo" "good">>
[[Leave|Town Map]]
/* ═══════════════════════════════════════════
Max corr ≥ 20 — Mom blindfold BJ photo set from Aaron.
Media: blindfold_lick_tip, blindfold_holding_dick,
blindfold_deepthropat, blindfold_cum
═══════════════════════════════════════════ */<<set $world.location to "Town - Max's House">>
<p>Max opens the door before she can knock. He looks pale and frightened, gripping his phone as though he's afraid to let it go.</p>
<<speech "Max">>Daisy— I need you. Right now. Please.<</speech>>
<<speech "Daisy">>Max? What— what is it this time?<</speech>>
<<speech "Max">>Aaron sent more. Of my mom. I… I can't look alone.<</speech>>
<p>She follows him in. He locks the door with shaking fingers and turns the screen toward her. Daisy's stomach drops before the first frame even loads.</p>
<div class="msg-shot">
<p class="msg-shot-caption">You will not believe what happened today. Your parents were having blindfolded sex when your father got called away for urgent work. Your mother still had the blindfold on, so I took my chance LOL</p>
<p class="msg-shot-from">— Aaron</p>
</div>
<<speech "Daisy">>…No. Max, he wouldn't— she wouldn't—<</speech>>
<<speech "Max">>There's more. A whole set. He captioned every one like a trophy.<</speech>>
[[Show me|Max House Mom Blindfold 2]]<<set $world.location to "Town - Max's House">>
<p>The first photo is worse than Daisy braced for. Max's mother is on her knees, blindfold tight over her eyes, tongue working the tip of a thick dark cock she clearly thinks belongs to her husband.</p>
<div class="msg-shot">
<img src="Images/max/blindfold_lick_tip.gif" alt="">
<p class="msg-shot-caption">Look at mommy's tongue on my tip. Blindfolded and still hungry 😂 She whispered "did something change?" while she licked. Cute.</p>
<p class="msg-shot-from">— Aaron</p>
</div>
<<speech "MaxMother" "Max's Mother">>(whisper) Honey… did something change? It feels… different…<</speech>>
<p>Daisy covers her mouth. The blindfold makes it somehow worse — willing, soft, completely wrong.</p>
<<speech "Daisy">>Oh my god…<</speech>>
<<speech "Max">>She thinks it's Dad. She doesn't know. She— keep going. There's more.<</speech>>
[[Next|Max House Mom Blindfold 3]]<<set $world.location to "Town - Max's House">>
<p>In the next photo, her hands are wrapped around the shaft. She strokes it with a puzzled frown beneath the blindfold, trying to work out why it feels different.</p>
<div class="msg-shot">
<img src="Images/max/blindfold_holding_dick.gif" alt="">
<p class="msg-shot-caption">She grabbed it with both hands LOL. "This dick is too huge baby, yours wasn't that big—" then she "figured it out." Dildo. She thinks her husband is fucking her mouth with a toy. Peak comedy.</p>
<p class="msg-shot-from">— Aaron</p>
</div>
<<speech "MaxMother" "Max's Mother">>This… this is too huge, baby. Yours wasn't that big… Oh— I understand. You're using a dildo. That's… that's great… mmm…<</speech>>
<<speech "Daisy">>She thinks it's a <em>dildo</em>. Max— she has no idea it's him.<</speech>>
<<speech "Max">>He knows. That's why he sent it. Look at the next one.<</speech>>
[[Next|Max House Mom Blindfold 4]]<<set $world.location to "Town - Max's House">>
<p>The third photo is worse. Her lips stretch around him as she takes him deeper, the blindfold still in place. She clearly has no idea that the man in front of her isn't her husband.</p>
<div class="msg-shot">
<img src="Images/max/blindfold_deepthropat.jpg" alt="">
<p class="msg-shot-caption">Deepthroating like a good little MILF slut. Gagging on BBC while she still thinks it's "Dad's toy." Your father never fucked this throat. I own it now.</p>
<p class="msg-shot-from">— Aaron</p>
</div>
<<speech "Max">>She's… she's taking all of it. My mom. On her knees in our house—<</speech>>
<<speech "Daisy">>Max… breathe. He wants you broken. Don't give him that without looking.<</speech>>
<p>He swipes anyway. One more.</p>
[[Last one|Max House Mom Blindfold 5]]<<set $world.location to "Town - Max's House">>
<p>The last photo shows her face, still blindfolded. Thick ropes of cum cover her cheeks, lips, and chin. She wears a soft, dazed smile, believing she has just pleased her husband.</p>
<div class="msg-shot">
<img src="Images/max/blindfold_cum.jpg" alt="">
<p class="msg-shot-caption">Facial for the family album 💀 Tell Mommy I said thanks for the blowjob. Next time I might skip the blindfold. Or maybe I leave it on and let Daddy watch the replay. Your move, Max.</p>
<p class="msg-shot-from">— Aaron</p>
</div>
<<speech "Daisy">>…I can't believe this. That's your mother. That's— how could he— how could this happen in your house—<</speech>>
<<speech "Max">>Dad left for work. Blindfold still on. Aaron was already there. Helper. Neighbor. Fucking snake.<</speech>>
<p>Max drops onto the bed, letting the phone fall face-down between them. He clenches his fists, then lets his hands hang at his sides.</p>
<<speech "Max">>She loves him. She loves Dad. She would never choose this. But she still… she still did all of that with her mouth. On him.<</speech>>
<<speech "Daisy">>Because she was tricked. Blindfolded. That doesn't make her his. It makes Aaron a monster with a camera.<</speech>>
<<speech "Max">>What do I do? Tell Dad? Tell her? She'll hate me for looking. Or she'll hate herself. Or nobody believes me and he keeps coming over with tools and smiles—<</speech>>
<<speech "Daisy">>You don't decide that alone tonight. You showed me. That's enough for one day. Don't open that chat again until your head's clear.<</speech>>
<<speech "Max">>…Stay a minute. Please. I can't study. I just can't be the only one who saw that.<</speech>>
<p>Daisy sits beside him, leaving the textbook closed. Beyond the door, dishes clink and someone laughs. The rest of the house carries on, unaware of what Aaron has sent Max.</p>
<<set $max.momBlindfoldBjDone to true>>
<<set $today.maxTaught to true>>
<<run setup.advanceTime(1)>>
<<toast "Max route: Mom blindfold photos" "good">>
[[Leave|Town Map]]<<set $world.location to "Town - Office">>
<<= setup.locBannerHtml("office")>>
<<if not $office.od12Ready or $office.od12Done>>
<<goto "Town Office">>
<</if>>
<p>Daisy heads inside to help Christine in the sex department.</p>
<<speech "Christine">>There you are, Daisy. I've been waiting for you.<</speech>>
<<speech "Daisy">>Anything urgent?<</speech>>
<<speech "Christine">>Yeah. It is.<</speech>>
<<speech "Daisy">>Okay.<</speech>>
<<speech "Christine">>Follow me.<</speech>>
[[Next|Office OD12 Brief]]<<set $world.location to "Town - Office - Sex Department">>
<<speech "Christine">>You'll be measuring dick sizes today. Go into that room, and I'll send the men in one at a time.<</speech>>
<<speech "Daisy">>…Okay.<</speech>>
[[Measuring room|Office OD12 Room]]<<set $world.location to "Town - Office - Measure Room">>
<p>Daisy walks in and picks up the measuring tape on the table.</p>
[[1st man|Office OD12 Man1]]<<set $world.location to "Town - Office - Measure Room">>
<p>The first man enters and drops his pants. Daisy measures him, feeling both shy and curious.</p>
<img src="Images/Day 12/d1201.webp" alt="">
<p>She writes down the size: <strong>7 inches</strong>.</p>
[[2nd man|Office OD12 Man2]]<<set $world.location to "Town - Office - Measure Room">>
<p>The second man walks in with his dick already out. Daisy blinks; he's bigger than James.</p>
<img src="Images/Day 12/d1202.webp" alt="">
<<speech "Daisy">>You have a big dick.<</speech>>
<<speech "Guy">>Thanks, sweetheart. Want to suck it?<</speech>>
<<speech "Daisy">>Get lost.<</speech>>
<p>She writes down the size: <strong>8 inches</strong>.</p>
[[3rd man|Office OD12 Rowan]]<<set $world.location to "Town - Office - Measure Room">>
<<speech "Rowan">>Hello.<</speech>>
<<speech "Daisy">>Hi. Please pull your pants down.<</speech>>
<<speech "Rowan">>Can you do it for me?<</speech>>
<<speech "Daisy">>…Okay.<</speech>>
<img src="Images/Day 12/d1203.gif" alt="">
<p>She pulls down his pants. His cock strains against his underwear, and her face grows warm as she struggles not to stare.</p>
<<speech "Rowan">>I guess you still have to measure it.<</speech>>
<<speech "Daisy">>Sorry — I was thinking about something.<</speech>>
<p>She peels the underwear down and freezes at the size of him.</p>
<img src="Images/Day 12/d1204.gif" alt="">
<<speech "Daisy">>Oh my god.<</speech>>
<<speech "Rowan">>Can you work a little faster?<</speech>>
<<speech "Daisy">>Sorry again.<</speech>>
<img src="Images/Day 12/d1205.gif" alt="">
<img src="Images/Day 12/d1206.gif" alt="">
<<speech "Daisy">>I'm really sorry. I don't know what I just did.<</speech>>
<<speech "Rowan">>It's okay, darling. I'd let you play with it — but I have to go.<</speech>>
<<stat "player.corruption" 1>>
<<stat "player.loveJames" -1>>
[[Exit the room|Office OD12 Exit]]<<set $world.location to "Town - Office">>
<p>Christine is waiting outside. Daisy's face is burning.</p>
<<speech "Christine">>Oh Daisy — you look embarrassed. I was watching. What you did with Rowan was perfectly fine.<</speech>>
<<speech "Daisy">>Did you forget I have a husband?<</speech>>
<<speech "Christine">>So what? You only live once. Don't keep denying what you want. Tell me — didn't you want to suck Rowan's dick?<</speech>>
<<speech "Daisy">>I… want to. But it would be cheating.<</speech>>
<<speech "Christine">>How is doing something you want cheating? Do what you want.<</speech>>
<<speech "Daisy">>Hmm. I'll think about it.<</speech>>
<<speech "Christine">>Do some paperwork, then you can leave.<</speech>>
<<speech "Daisy">>Okay.<</speech>>
<<set $office.od12Done to true>>
<<set $office.od12Ready to false>>
<<set $today.officeShift to 2>>
<<set $player.money += 120>>
<<run setup.setTimeAtLeast("Evening")>>
<div class="fading-text fade-animation">Money +$120</div>
<<stat "player.corruption" 1>>
<p class="scene-meta">The measuring work in the sex department is done.</p>
[[Leave|Town Map]]<<set $world.location to "Town - Office">>
<<= setup.locBannerHtml("office")>>
<<if not $office.od12Done or not $office.studyDay11Done or $office.od15Done>>
<<goto "Town Office">>
<</if>>
<p>Daisy is walking down the office hallway when she collides with a coworker. She hits the floor hard — and her dress rides up, leaving nothing to the imagination.</p>
<img src="Images/Day 13/d134.jpg" alt="">
<<speech "Guy">>I'm really sorry, ma'am. (What the fuck — where are her panties?)<</speech>>
<<speech "Daisy">>(Oh god — is he staring down there?) Help me gather these papers.<</speech>>
<<speech "Guy">>Yes, ma'am. (Damn. Walking around the office without panties…)<</speech>>
<p>Her face burning, Daisy gets up as he gathers the papers. On her way to her desk, her phone buzzes with a message from the boss.</p>
<img src="Images/Day 13/d135.png" alt="">
<<speech "Daisy">>Oh, something else to worry about. I'd better get to the exam.<</speech>>
[[Exam hall|Office OD15 Exam]]<<set $world.location to "Town - Office - Exam">>
<img src="Images/Day 13/d136.jpg" alt="">
<p>In the exam hall, Daisy finds the same guy sitting in front of her. When she gets stuck on a question, she leans forward.</p>
<<speech "Daisy">>Hey — do you know the answer to the fourth question?<</speech>>
<<speech "Guy">>Yeah, I just solved it.<</speech>>
<<speech "Daisy">>Which option?<</speech>>
<<speech "Guy">>What do I get in return?<</speech>>
<<speech "Daisy">>I'll give you twenty dollars. Tell me.<</speech>>
<<speech "Guy">>Haha. I know you're not wearing panties today. How about you show me your pussy after the exam?<</speech>>
<<speech "Daisy">>Get lost. Never.<</speech>>
<<speech "Guy">>Then I'm not telling you.<</speech>>
<<speech "Daisy">>Ah — wait. Okay. I'll show you. Now tell me.<</speech>>
<<speech "Guy">>Good girl. Option D.<</speech>>
<p>She marks D, finishes the rest, and leaves the hall.</p>
[[After the exam|Office OD15 After Exam]]<<set $world.location to "Town - Office">>
<p>Daisy takes a sip of water. The guy from the front seat finds her almost immediately.</p>
<<speech "Guy">>So, are you ready to keep your end of the deal?<</speech>>
<<speech "Daisy">>…Okay. Follow me to the restroom.<</speech>>
[[Restroom|Office OD15 Restroom]]<<set $world.location to "Town - Office - Restroom">>
<p>He follows her inside. She quickly lifts her dress to show him, keeping her eyes turned away.</p>
<img src="Images/Day 13/d137.webp" alt="">
<<speech "Guy">>Oh god, that's the best pussy I've ever seen.<</speech>>
<<speech "Daisy">>Thanks. Now get lost.<</speech>>
<<speech "Guy">>Wait — let me have a proper look. One minute.<</speech>>
<<speech "Daisy">>Ugh… fine.<</speech>>
<p>He pulls out his cock and starts stroking it.</p>
<img src="Images/Day 13/d138.gif" alt="">
<<speech "Daisy">>Hey — what are you doing?<</speech>>
<<speech "Guy">>Sorry — I can't control it. One minute, please—<</speech>>
<<speech "Daisy">>Okay, but make it quick.<</speech>>
<<speech "Guy">>Ahhh— I'm coming—<</speech>>
<<speech "Daisy">>Noooo—<</speech>>
<img src="Images/Day 13/d139.jpg" alt="">
<<speech "Daisy">>What the fuck? Why didn't you stop?<</speech>>
<<speech "Guy">>I'm really sorry. I couldn't help it.<</speech>>
<<speech "Daisy">>Get lost!<</speech>>
<p>She clenches her jaw as she wipes herself clean with a tissue.</p>
<<stat "player.corruption" 1>>
<<stat "player.loveJames" -1>>
<<set $office.od15Done to true>>
<<set $today.officeShift to 2>>
<<set $player.money += 120>>
<<run setup.setTimeAtLeast("Evening")>>
<div class="fading-text fade-animation">Money +$120</div>
<p class="scene-meta">The exam is over. She got the answer, but the deal cost her more than she expected.</p>
<p class="scene-meta">That's it for this version. Check Patreon for the latest version.</p>
[[Leave|Town Map]]<<set $world.location to "Town">>
<<= setup.locBannerHtml("town")>>
<p>Daisy walks along the road, still worried about everything going on at work and at home. Lost in her thoughts, she almost misses someone calling her name.</p>
<p>She turns and sees a familiar face from college. It's <em>Sophia.</em></p>
<p>Memories of college rush back, including a few she would rather forget. She forces herself to smile and say hello.</p>
<<speech "Sophia">>Daisy, is that really you? I can't believe it!<</speech>>
<<speech "Daisy">>(Sophia? Oh, not now, please…) Sophia — what brings you here?<</speech>>
<<speech "Sophia">>I took a job in the area. Moved in a couple of days ago. What about you?<</speech>>
<<speech "Daisy">>I work as a software engineer.<</speech>>
<<speech "Sophia">>Is James here as well?<</speech>>
<<speech "Daisy">>(Of course she'd ask about James.) Yeah… he is.<</speech>>
<<speech "Sophia">>I'd love to see him. Would you mind if I came by your place?<</speech>>
<<speech "Daisy">>…Great. Let's head over.<</speech>>
<<set $sophia.met to true>>
<<set $sophia.ready to false>>
[[Home|Sophia Home Visit]]<<set $world.location to "Home - Hall">>
<<set $world.time to "Evening">>
<p>Sophia's eyes light up the moment she spots James. Without hesitation she rushes over and pulls him into a warm, tight hug — far closer than Daisy would expect from a simple hello.</p>
<img src="Images/James/hug1.gif" alt="">
<p>Watching it, jealousy spikes hard in Daisy's chest. She remembers too well how Sophia used to try to take James from her.</p>
<img src="Images/James/hug2.gif" alt="">
<<speech "James">>Sophia! It's been so long. I wasn't expecting to see you.<</speech>>
<<speech "Sophia">>Looks like neither of you ever tried to reach out.<</speech>>
<<speech "James">>Sorry, Sophia. I lost all my contacts when I changed phones.<</speech>>
<<speech "Sophia">>Never mind. I have wonderful news for both of you.<</speech>>
<<speech "Daisy">>What?<</speech>>
<<speech "Sophia">>There's a college reunion coming up. I hope you both can join us.<</speech>>
<<speech "Daisy">>(Ahhh — I don't want to see those faces…)<</speech>>
<<speech "James">>We'll definitely join, won't we, Daisy?<</speech>>
<<speech "Daisy">>Yeah.<</speech>>
<<speech "Sophia">>Fantastic! I have to run, but I'll see you there. Just like old times.<</speech>>
<<speech "James">>Stay for tea at least.<</speech>>
<<speech "Sophia">>I wish I could spend all day with you, but I've got work. Catch up soon — and don't miss the reunion.<</speech>>
<<speech "James">>We'll be there.<</speech>>
<<speech "Sophia">>Of course you will.<</speech>>
<<set $sophia.reunionInvited to true>>
[[After Sophia leaves|Sophia Leaves Fight]]<<set $world.location to "Home - Hall">>
<p>As soon as the door closes behind Sophia, Daisy turns to James, unable to hold back.</p>
<img src="Images/James/fight.gif" alt="">
<<speech "Daisy">>Why didn't you stop her when she was hugging you like that?<</speech>>
<<speech "James">>I'm sorry, baby — that was just unexpected.<</speech>>
<<speech "Daisy">>I don't want her back in our lives. You remember how she always tried to steal you from me in college, don't you?<</speech>>
<<speech "James">>Don't worry. I'm completely yours now.<</speech>>
<<speech "Daisy">>Don't even talk to me.<</speech>>
<<speech "James">>Wait — what if I apologize like a good husband?<</speech>>
<p>His hands find her waist, then try to work her pants down.</p>
<img src="Images/Day 6/d616.gif" alt="">
<div id="can">
<<link "Let him">><<replace "#can">>
<<stat "player.loveJames" 2>>
<img src="Images/James/cunnel1.gif" alt="">
<<speech "Daisy">>That's how all husbands should apologize…<</speech>>
<img src="Images/James/cunnel2.gif" alt="">
<p>She comes hard against his mouth, her anger easing as the pleasure takes over.</p>
<<speech "Daisy">>That's enough apologizing for today. I'm going to sleep.<</speech>>
<<set $sophia.homeDone to true>>
<<set $today.eveningDone to true>>
[[Sleep|Sleep]]
<</replace>><</link>>
<<link "Push his hand away">><<replace "#can">>
<p>In frustration Daisy grabs his wrist and shoves it off her.</p>
<<speech "Daisy">>I don't want your apology. Go apologize to Sophia, since you love her so much.<</speech>>
<<stat "player.loveJames" -2>>
<<set $sophia.homeDone to true>>
<<set $today.eveningDone to true>>
[[Sleep|Sleep]]
<</replace>><</link>>
</div>
/* ═══════════════════════════════════════════
HD7 — college reunion car ride. Saturday Morning Living Room only
(see living-room.twee), after Sophia's invite ($sophia.homeDone).
═══════════════════════════════════════════ */<<run setup.markJamesEvent()>>
<<set $world.location to "Home - Living Room">>
<p>On Saturday morning, James is waiting with the car keys, grinning at the thought of seeing his old college friends.</p>
<<speech "James">>Ready? We should head out if we want a good spot.<</speech>>
<<speech "Daisy">>(…I still don't want to see those faces.)<</speech>>
[[Get in the car|James Reunion Drive]]<<set $world.location to "Town - Car">>
<img src="Images/James/car0.jpeg" alt="">
<<speech "James">>Aren't you excited to meet your college friends?<</speech>>
<<speech "Daisy">>Not excited at all. You were my only real friend in college. (The rest were just sluts.)<</speech>>
<<speech "James">>Anyway — I'm very excited.<</speech>>
<<speech "Daisy">>Why wouldn't you be, when every girl had a crush on you?<</speech>>
<<speech "James">>Most of the guys had a crush on you too.<</speech>>
<<speech "Daisy">>But I kept my distance from them. Unlike you — always surrounded by groups of girls.<</speech>>
<<speech "James">>But I'm all yours now. We shouldn't fight.<</speech>>
<p>Daisy's hand drops into his lap and grips hard.</p>
<<speech "Daisy">>Listen to me. That dick is mine, and I'm not sharing. Do you understand?<</speech>>
<<speech "James">>Please — let go. That hurts, baby—<</speech>>
<<speech "Daisy">>You understand?<</speech>>
<<speech "James">>Yes. I understand.<</speech>>
<<speech "Daisy">>Good boy.<</speech>>
<p>Her grip eases, and she starts stroking him instead. With time left before they arrive, she could keep going, or she could stop here.</p>
[[Give him a blowjob|James Reunion Blowjob]]
[[Not now|James Reunion Refuse]]<<set $world.location to "Town - Car">>
<<set $sophia.reunionCarBj to true>>
<img src="Images/James/car1.gif" alt="">
<p>She works him with her mouth as they drive, being a little rough to make sure he understands her point.</p>
<<speech "Daisy">>Cum on my face.<</speech>>
<img src="Images/James/car2.webp" alt="">
<p>He does as she asks. Still flushed, she wipes her face with a napkin from the glove box and acts as though nothing happened.</p>
<<speech "James">>Here we are. I can't wait to catch up with everyone.<</speech>>
<<stat "player.loveJames" 1>>
<<stat "player.corruption" 1>>
[[Continue|James Reunion Arrive]]<<set $world.location to "Town - Car">>
<<set $sophia.reunionCarBj to false>>
<p>Daisy lets go and sits back, eyes on the road like the last minute didn't happen.</p>
<<speech "Daisy">>Not now. Just drive.<</speech>>
<<speech "James">>…Okay. Sorry. I thought you wanted—<</speech>>
<<speech "Daisy">>I said not now.<</speech>>
<p>The rest of the ride is quiet. He keeps both hands on the wheel. She doesn't look at him.</p>
<<stat "player.loveJames" -1>>
[[Continue|James Reunion Arrive]]<<set $world.location to "Town - Car">>
<<set $world.time to "Afternoon">>
<<set $today.wentOutside to true>>
<p>They park. The campus looks smaller than she remembers — and somehow worse.</p>
[[College entrance|College Reunion]]<<set $world.location to "Home - Living Room">>
<<= setup.locBannerHtml("living")>>
<<if not $office.studyDay11Ready or $office.studyDay11Done>>
<<goto "House Map">>
<</if>>
<p>David, Christine, Emma, and Jimmy are already in her living room — books half-forgotten, bottle waiting in the center. James is out. The study group has moved the game to her house.</p>
<<speech "Daisy">>There are five of us today. This should be more fun.<</speech>>
<<speech "Christine">>Yes — I'm super excited.<</speech>>
<<speech "David">>Emma, spin the bottle.<</speech>>
<<speech "Emma">>Okay.<</speech>>
[[Spin|Study Day11 Spin1]]
/* TD11 — Christine dare: show pussy / body count */<<set $world.location to "Home - Living Room">>
<p>The bottle stops: top on <strong>Christine</strong>, bottom on <strong>Jimmy</strong>.</p>
<<speech "Christine">>Hmm — dare.<</speech>>
<<speech "Jimmy">>Show us your pussy and we'll guess your body count.<</speech>>
<<speech "Christine">>Ahh… okay.<</speech>>
<img src="Images/Day 11/pussy.jpeg" alt="">
<<speech "Emma">>Looks delicious and tight. I'd say three.<</speech>>
<<speech "Christine">>Haha, very wrong. Daisy — your guess?<</speech>>
<<speech "Daisy">>Maybe ten? It still looks tight…<</speech>>
<<speech "Jimmy">>I'll go two hundred — that's what she told me.<</speech>>
<<speech "Christine">>I only told you about the ones I knew.<</speech>>
<<speech "David">>Six hundred. You've fucked almost everyone at the office.<</speech>>
<<speech "Christine">>Wrong. Eight hundred twenty-one. I keep count.<</speech>>
<<speech "David">>How is it still that tight?<</speech>>
<<speech "Christine">>God, you still believe that myth. It doesn't get loose from sex unless you're putting a whole hand in — or a horse-size toy.<</speech>>
<<speech "Jimmy">>Proud of you, slut.<</speech>>
<<speech "Christine">>Thanks. Spin again.<</speech>>
[[Spin|Study Day11 SpinD11]]
/* SpinD11 — Emma truth (spicy chips) → kitchen for juice */<<set $world.location to "Home - Living Room">>
<p>Emma spins. Top on <strong>Emma</strong>, bottom on <strong>David</strong>.</p>
<<speech "Emma">>Truth.<</speech>>
<<speech "David">>Have any funny stories about sex?<</speech>>
<<speech "Emma">>I had a friend with benefits. We were watching a movie and eating spicy chips at my place. We started making out, and I gave him a handjob without washing my hands. His dick started burning. He tried water, ice, even milk, but nothing helped. I never saw him again.<</speech>>
<p>Everyone bursts out laughing. Daisy laughs so hard that her eyes water.</p>
<<speech "Daisy">>Oh god — that was terrible.<</speech>>
<<speech "David">>Especially the running part.<</speech>>
<<speech "Christine">>Thank god he didn't put it in. Your pussy would've been burning too.<</speech>>
<<speech "Daisy">>I'll get everyone some juice, then we can keep playing. James isn't home, and I'm free for the day.<</speech>>
<<speech "Christine">>I'm free too — we can play for hours.<</speech>>
<<speech "Daisy">>Juice first.<</speech>>
[[Kitchen|Study Day11 Kitchen]]
/* KD11 — sugar cupboard, Jimmy peeks, twerk, Christine truth questions */<<set $world.location to "Home - Kitchen">>
<<= setup.locBannerHtml("kitchen")>>
<p>Daisy tastes the juice and finds it too sour. The sugar is on the top shelf, beyond her reach.</p>
<<speech "Daisy">>Can somebody help me reach the sugar? It's in the upper cupboard.<</speech>>
<<speech "Jimmy">>Coming.<</speech>>
<<speech "Daisy">>Can you get that box?<</speech>>
<<speech "Jimmy">>Why'd you put it there?<</speech>>
<<speech "Daisy">>James put it up. He's six-seven.<</speech>>
<<speech "Jimmy">>I'm five-seven. I can't reach it either.<</speech>>
<<speech "Daisy">>Hold the chair — I'll get it.<</speech>>
<<speech "Jimmy">>Okay.<</speech>>
<p>She climbs onto the chair. Jimmy drops a spoon on purpose, then bends down to look up her skirt.</p>
<img src="Images/Day 11/underskirt.jpeg" alt="">
<<speech "Jimmy">>(It'd be better if she weren't wearing panties…)<</speech>>
<<speech "Daisy">>Thanks.<</speech>>
[[Serve drinks|Study Day11 After Kitchen]]<<set $world.location to "Home - Living Room">>
<<= setup.locBannerHtml("living")>>
<<speech "David">>Thanks, Daisy. Let's continue.<</speech>>
<p>Emma spins. Top on <strong>Jimmy</strong>, bottom on <strong>Christine</strong>.</p>
<<speech "Jimmy">>Dare.<</speech>>
<<speech "Christine">>Twerk.<</speech>>
<<speech "Jimmy">>What?<</speech>>
<<speech "Christine">>Dare is dare.<</speech>>
<img src="Images/Day 11/twerk1.gif" alt="">
<<speech "Emma">>Looks like a crab in your pants.<</speech>>
<<speech "Jimmy">>Think you can do better?<</speech>>
<<speech "Emma">>Of course. Watch.<</speech>>
<img src="Images/Day 11/twerk2.gif" alt="">
<<speech "Daisy">>You're great, Emma.<</speech>>
<<speech "Emma">>Thanks. I danced at national events in college. I run a dance school now.<</speech>>
<<speech "Daisy">>James always wanted me to learn and dance for him.<</speech>>
<<speech "Emma">>Cute. Come by sometime — I'll give you the address.<</speech>>
<<speech "Christine">>Back to the game.<</speech>>
<<speech "Daisy">>Yeah. Emma — spin.<</speech>>
[[Spin|Study Day11 Christine Truth]]<<set $world.location to "Home - Living Room">>
<p>Bottle stops: top on <strong>Christine</strong>, bottom on <strong>Daisy</strong>.</p>
<<speech "Christine">>Truth again.<</speech>>
<<speech "Daisy">>My question is…<</speech>>
[[What is your fetish — have you tried it?|Study Day11 Fetish]]
[[What was your worst date?|Study Day11 WorstDate]]<<set $world.location to "Home - Living Room">>
<<speech "Daisy">>Do you have a fetish? Have you tried it?<</speech>>
<<speech "Christine">>Now Daisy's playing properly. Yes — free-use. Four years ago I told a boyfriend. He took me to a men's toilet and tied me to a urinal.<</speech>>
<img src="Images/Day 11/urine1.jpeg" alt="">
<<speech "Christine">>Men came in and used me while he watched. One of them even pissed on me.<</speech>>
<img src="Images/Day 11/urine2.gif" alt="">
<<speech "Christine">>They untied me and used me however they wanted. No limits.<</speech>>
<img src="Images/Day 11/urine3.gif" alt="">
<<speech "Christine">>Even spat on me.<</speech>>
<img src="Images/Day 11/urine4.gif" alt="">
<<speech "Christine">>Then finished on my face.<</speech>>
<img src="Images/Day 11/urine5.webp" alt="">
<<speech "Christine">>They tried to take me as their personal slut. My boyfriend stopped them.<</speech>>
<<speech "Daisy">>I'm sorry you went through that because of him.<</speech>>
<<speech "Christine">>Don't be. I loved it. Best sex of my life — used by strangers.<</speech>>
<<speech "Emma">>Proper slut material.<</speech>>
<<speech "Christine">>I love being called that.<</speech>>
<<speech "David">>Spin again.<</speech>>
<<stat "player.corruption" 1>>
[[Emma spins again|Study Day11 EmmaSpin Daisy]]<<set $world.location to "Home - Living Room">>
<<speech "Daisy">>What's your worst experience with sex — or a date that went wrong?<</speech>>
<<speech "Christine">>I met a guy through an app. We had drinks at a bar and got along well. Around two, we left in my car because his had broken down. On an empty side street, he said, "You know, this is where I died."<</speech>>
<<speech "Christine">>I kicked him out of the moving car and sped home. Never answered his calls. Never saw him again.<</speech>>
<<speech "David">>Probably a prank.<</speech>>
<<speech "Christine">>Maybe. I was terrified.<</speech>>
<<speech "David">>Spin again.<</speech>>
[[Emma spins again|Study Day11 EmmaSpin Daisy]]
/* Emma spin — Daisy truth (dates) or dare (flash tits) */<<set $world.location to "Home - Living Room">>
<p>Emma spins. Top on <strong>Daisy</strong>, bottom on <strong>Christine</strong>.</p>
<<speech "Daisy">>I choose…<</speech>>
[[Truth|Study Day11 Daisy Truth]]
[[Dare|Study Day11 Daisy Flash]]<<set $world.location to "Home - Living Room">>
<<speech "Daisy">>Truth.<</speech>>
<<speech "Christine">>How many guys did you date before James?<</speech>>
<<speech "Daisy">>James was my first, and he's my last. I was shy in school, then met him in college.<</speech>>
<<speech "Emma">>True love.<</speech>>
<<speech "Daisy">>You could say that.<</speech>>
<<speech "David">>Spin it again.<</speech>>
[[Rotate|Study Day11 RD11]]<<set $world.location to "Home - Living Room">>
<<speech "Daisy">>Dare.<</speech>>
<<speech "Christine">>Show us your tits.<</speech>>
<<speech "Daisy">>What? Please change it.<</speech>>
<<speech "Christine">>(Whispering) Forgetting what I said at the office?<</speech>>
<p class="scene-meta"><em>How is showing something you were born with considered cheating?</em></p>
<<speech "Daisy">>(What's happening to me? Should I…?)<</speech>>
<p>Daisy keeps thinking about what Christine said at the office, and her resolve starts to weaken.</p>
<<speech "Daisy">>…Okay.<</speech>>
<img src="Images/Day 11/flash.gif" alt="">
<<speech "Jimmy">>Beautiful pair of mangoes.<</speech>>
<<speech "Emma">>I might be a lesbian now.<</speech>>
<<speech "Christine">>(Mission on track.)<</speech>>
<<speech "David">>Now that's refreshing. Let's keep playing.<</speech>>
<<stat "player.corruption" 1>>
<<stat "player.loveJames" -1>>
[[Rotate|Study Day11 RD11]]
/* RD11 — Christine rides cucumber/dildo, orgy starts, Daisy leave? */<<set $world.location to "Home - Living Room">>
<p>Emma spins. Top on <strong>Christine</strong>, bottom on <strong>David</strong>.</p>
<<speech "Christine">>Dare.<</speech>>
<<speech "David">>Take that cucumber, strip, and ride it. Show us your hottest look while you do.<</speech>>
<<speech "Emma">>I'm so ready for this.<</speech>>
<<if $office.adultShopDildo>>
<<speech "Daisy">>I… have a dildo too.<</speech>>
<<speech "David">>Even better — ride the dildo.<</speech>>
<img src="Images/Day 11/dildo.gif" alt="">
<<speech "David">>Moan too.<</speech>>
<<speech "Christine">>Ahhh — yes, yes — just lie there and let me take care of your dick—<</speech>>
<<speech "Jimmy">>You're missing something.<</speech>>
<p>Jimmy steps in and fills her mouth while she rides.</p>
<img src="Images/Day 11/D113.gif" alt="">
<<else>>
<img src="Images/Day 11/cucumber.gif" alt="">
<<speech "David">>Moan too.<</speech>>
<<speech "Christine">>Ahhh — yes, yes—<</speech>>
<<speech "Jimmy">>You're missing something.<</speech>>
<p>Jimmy steps in and fills her mouth while she rides the cucumber.</p>
<img src="Images/Day 11/D111.gif" alt="">
<</if>>
<p>The sight excites everyone. Emma can't hold back and starts touching herself in front of them.</p>
<img src="Images/Day 11/emma.webp" alt="">
<<speech "Jimmy">>Look at Emma.<</speech>>
<<speech "David">>Shall we make this an orgy?<</speech>>
<<speech "Christine">>Don't ask — come here.<</speech>>
<img src="Images/Day 11/D115.gif" alt="">
<p>David joins in. Emma gets on David while Christine takes Jimmy, leaving Daisy to watch, shocked and wet.</p>
<<speech "Emma">>Daisy — what are you doing over there? Join us.<</speech>>
<<speech "Daisy">>I'm fine here.<</speech>>
<p>Should Daisy leave the room?</p>
[[Yes — leave|Study Day11 Leave Solo]]
[[No — stay and watch|Study Day11 Watch Orgy]]
/* YD11 — leave, solo release, optional watch */<<set $world.location to "Home - Bedroom">>
<<= setup.locBannerHtml("bedroom")>>
<p>Overwhelmed, Daisy slips out. The sounds from the living room don't stop.</p>
<<speech "Daisy">>(They're having an orgy in my house. Why am I this horny? I need a release…)<</speech>>
<<if $office.adultShopDildo>>
[[Use the dildo|Study Day11 Solo Dildo]]
[[Use fingers|Study Day11 Solo Fingers]]
<<else>>
[[Use fingers|Study Day11 Solo Fingers]]
<</if>><<set $world.location to "Home - Bedroom">>
<p>She takes the toy from the bag and loses herself.</p>
<img src="Images/Day 11/dildo2.gif" alt="">
<p>She comes hard.</p>
<<speech "Daisy">>(Even after that I'm still worked up knowing what they're doing. Sleep… or go watch?)<</speech>>
<<stat "player.corruption" 1>>
[[Watch them|Study Day11 Watch Orgy]]
[[Go to sleep|Study Day11 End Sleep]]<<set $world.location to "Home - Bedroom">>
<p>She touches herself, keeping her fingers moving until she finally comes.</p>
<img src="Images/Day 11/finger.gif" alt="">
<img src="Images/Day 11/orgasm.gif" alt="">
<<speech "Daisy">>(Still not enough. Sleep… or peek?)<</speech>>
<<stat "player.corruption" 1>>
[[Watch them|Study Day11 Watch Orgy]]
[[Go to sleep|Study Day11 End Sleep]]
/* ND11 — full orgy watch */<<set $world.location to "Home - Living Room">>
<<= setup.locBannerHtml("living")>>
<<speech "Jimmy">>Double blowjob — please.<</speech>>
<<speech "Christine">>As you wish.<</speech>>
<p>Christine and Emma lie on their backs while Jimmy uses their mouths, moving from one to the other.</p>
<img src="Images/Day 11/D117.gif" alt="">
<<speech "Emma">>Now I want two.<</speech>>
<img src="Images/Day 11/D118.webp" alt="">
<<speech "Christine">>That's enough oral. Let's move on.<</speech>>
<<speech "David">>Sofa.<</speech>>
<p>David takes Emma; Jimmy takes Christine.</p>
<img src="Images/Day 11/D119.gif" alt="">
<<speech "David">>Switch?<</speech>>
<<speech "Jimmy">>I was thinking the same thing.<</speech>>
<img src="Images/Day 11/D1110.gif" alt="">
<<speech "Christine">>Emma — ever tried double penetration?<</speech>>
<<speech "Emma">>No. Painful, right?<</speech>>
<<speech "Christine">>One of the best things. Try it.<</speech>>
<<speech "Emma">>Okay, boys — come here.<</speech>>
<<speech "David">>Ready?<</speech>>
<<speech "Emma">>Yes.<</speech>>
<img src="Images/Day 11/D1111.gif" alt="">
<<speech "Christine">>How is it?<</speech>>
<<speech "Emma">>One of the best things in the world.<</speech>>
[[Continue|Study Day11 Watch Orgy2]]<<set $world.location to "Home - Living Room">>
<p>Listening to them from the other room, Daisy comes again for the fourth time today.</p>
<img src="Images/Day 11/D1112.gif" alt="">
<<speech "David">>Ride us.<</speech>>
<img src="Images/Day 11/D1113.gif" alt="">
<<speech "Jimmy">>I'm close—<</speech>>
<<speech "Christine">>Knees. Now.<</speech>>
<img src="Images/Day 11/D1114.gif" alt="">
<<speech "David">>Here — me too.<</speech>>
<p>Daisy moves closer without thinking. Her hand rests in Emma's hair as the men finish on Emma and Christine.</p>
<img src="Images/Day 11/D1115.gif" alt="">
<<speech "Christine">>Haha — Daisy's here too.<</speech>>
<<speech "Daisy">>I was just checking if you were… done.<</speech>>
<<speech "Emma">>Really? Nude, dripping, and right here?<</speech>>
<<speech "Daisy">>I was just—<</speech>>
<<speech "Christine">>No need to lie. We saw you peeking. Never let your urges die — follow them.<</speech>>
<<speech "David">>We should go. That was fun.<</speech>>
<<speech "Emma">>Bye, everyone.<</speech>>
<p>After they leave, Daisy stands alone, unable to stop thinking about Christine's words.</p>
<p class="scene-meta"><em>Never let your urges die — always follow them.</em></p>
<<stat "player.corruption" 1>>
<<stat "player.loveJames" -1>>
<<set $office.studyDay11Done to true>>
<<set $office.studyDay11Ready to false>>
<<if $office.od12WaitSleeps is -1 and not $office.od12Done>>
<<set $office.od12WaitSleeps to 3>>
<<set $office.od12Ready to false>>
<</if>>
<<set $world.time to "Night">>
<<set $today.eveningDone to true>>
<<speech "Daisy">>I should sleep now.<</speech>>
<p class="scene-meta">Main quest: wait <strong>3 days</strong>, then go to the Office.</p>
[[Go to sleep|Sleep]]<<set $office.studyDay11Done to true>>
<<set $office.studyDay11Ready to false>>
<<if $office.od12WaitSleeps is -1 and not $office.od12Done>>
<<set $office.od12WaitSleeps to 3>>
<<set $office.od12Ready to false>>
<</if>>
<<set $world.time to "Night">>
<<set $today.eveningDone to true>>
<<stat "player.corruption" 1>>
<p class="scene-meta">Main quest: wait <strong>3 days</strong>, then go to the Office.</p>
[[Go to sleep|Sleep]]<<set $world.location to "Town - David's House">>
<<if not $quests.studyDavid>>
<p>She has no reason to be here.</p>
[[Leave|Town Map]]
<<elseif not $office.studyVisitDone>>
<<goto "Study David House Enter">>
<<elseif $office.studyVisit2Ready and not $office.studyVisit2Done>>
<<goto "Study David Visit2">>
<<elseif $office.studyVisit2Done>>
<p>David's place is quiet for now.</p>
[[Leave|Town Map]]
<<else>>
<p>There's no study session tonight. Check Notes for when the next one is due.</p>
[[Leave|Town Map]]
<</if>><<set $world.location to "Town - David's House">>
<p>The three of them arrive at David's house. It's small and cozy, with everything kept clean and tidy.</p>
<img src="Images/David/home.jpeg" alt="">
<<speech "Daisy">>Wow, David — you've kept your house so clean.<</speech>>
<<speech "David">>Thanks, Daisy, but it wasn't me. My step-sister takes care of that. You'll enjoy meeting her.<</speech>>
<<speech "Christine">>So you have a step-sister. I have a step-brother — he definitely doesn't care much about keeping things clean.<</speech>>
<<speech "David">>Haha. You guys should take a seat over there.<</speech>>
[[Start studying|Study David House Study]]<<set $world.location to "Town - David's House">>
<p>Daisy, David, and Christine settle down to study. Forty minutes pass as they work through the papers and share their notes.</p>
<p>Then David's step-sister walks in with a tray of soft drinks. She has black hair and a warm smile.</p>
<<speech "David">>Everyone, this is Emma, my step-sister.<</speech>>
<img src="Images/David/Emmapp.jpeg" alt="">
<<speech "Emma">>Hello. Sorry for interrupting — take a break and have something to drink first.<</speech>>
<<speech "Christine">>Thank you, Emma. You're so beautiful.<</speech>>
<<speech "Emma">>Thank you. I'll leave you to it — continue after the drinks.<</speech>>
<p>They study again with renewed focus. Thirty minutes later, the day's work is done.</p>
<<speech "Christine">>We still have some time. How about a game?<</speech>>
<<speech "David">>Interesting. What game?<</speech>>
<<speech "Christine">>Truth or dare?<</speech>>
<<speech "David">>I'm in. I'll call Emma too.<</speech>>
<<speech "Daisy">>Please keep the dares reasonable.<</speech>>
[[Truth or dare|Study David Truth Dare]]<<set $world.location to "Town - David's House">>
<p>Once they're done studying, Emma joins them in a circle to play truth or dare.</p>
<<speech "Christine">>We spin the bottle. Whoever the cap points to chooses truth or dare. Whoever the base points to asks or dares.<</speech>>
<<speech "David">>Ready?<</speech>>
<<speech "Daisy">>Yes — and a little excited.<</speech>>
[[David spins the bottle|Study David TD Spin1]]<<set $world.location to "Town - David's House">>
<p>David spins. When it stops, the cap points at <strong>Emma</strong>, the base at <strong>Christine</strong>.</p>
<<speech "Christine">>Emma — truth or dare?<</speech>>
<<speech "Emma">>Truth.<</speech>>
<<speech "Christine">>What's the naughtiest secret you've ever kept?<</speech>>
<<speech "Emma">>Haha — okay. Two years ago I had a boyfriend. I saw an ad for custom dildos, sent them a picture of his… and they made an exact copy. Same veins, size, everything.<</speech>>
<<speech "Christine">>So you used it. How is that the naughtiest?<</speech>>
<<speech "Emma">>Wait — he had a sister who was my friend. I gifted her that dildo on her birthday. She told me it was the best she'd ever used. Poor girl never knew it was her brother's.<</speech>>
<<speech "David">>Wow. You never told me that.<</speech>>
<<speech "Emma">>That's why it was a secret. Spin again.<</speech>>
[[David spins again|Study David TD Spin2]]<<set $world.location to "Town - David's House">>
<p>Second spin. Cap on <strong>David</strong>, base on <strong>Emma</strong>.</p>
<<speech "David">>Okay — dare.<</speech>>
<<speech "Emma">>Spank a girl in this room as hard as you can.<</speech>>
<<speech "Daisy">>Don't look at me. I have a husband.<</speech>>
<<speech "Christine">>Come on, Daisy. It's just a spank. Doesn't count as cheating.<</speech>>
<p>Should Daisy let David spank her?</p>
[[Yes — he can spank me|Study David Spank Yes]]
[[No — not me|Study David Spank No]]<<set $world.location to "Town - David's House">>
<<speech "Daisy">>Okay — you can spank me, but I won't take my pants off.<</speech>>
<<speech "Christine">>Come on, a little bare skin looks good on you.<</speech>>
<p>Remove her pants for the spank?</p>
[[Yes — pants off|Study David Spank Pants Off]]
[[No — pants stay on|Study David Spank Pants On]]<<set $world.location to "Town - David's House">>
<<speech "Daisy">>…Okay. I'm ready.<</speech>>
<p>Daisy slips her pants down. David doesn't waste the chance — he spanks her hard.</p>
<img src="Images/David/spankdaisy2.webp" alt="">
<<stat "player.corruption" 1>>
<<stat "player.loveJames" -1>>
[[Wrap up|Study David Visit End]]<<set $world.location to "Town - David's House">>
<<speech "Daisy">>Sorry — I'm not taking them off.<</speech>>
<<speech "David">>Fine. Pants stay on.<</speech>>
<p>He still spanks her hard through the fabric.</p>
<img src="Images/David/spankdaisy1.gif" alt="">
<<stat "player.corruption" 1>>
[[Wrap up|Study David Visit End]]<<set $world.location to "Town - David's House">>
<<speech "Daisy">>Sorry — I can't let you touch my ass.<</speech>>
<<speech "Christine">>Okay, we won't force her. Spank mine, David.<</speech>>
<<speech "David">>Ready for a red mark on your ass?<</speech>>
<<speech "Emma">>Yes.<</speech>>
<p>David spanks Christine hard enough to leave a print.</p>
<img src="Images/David/spankchristine.webp" alt="">
<<speech "Christine">>I loved that.<</speech>>
<<stat "player.loveJames" 1>>
[[Wrap up|Study David Visit End]]<<set $world.location to "Town - David's House">>
<<speech "Emma">>That was hard. Spin again…?<</speech>>
<<speech "Christine">>I think we should continue tomorrow. Home for now.<</speech>>
<<speech "Daisy">>Yeah — I agree.<</speech>>
<<speech "Emma">>Okay. See you guys tomorrow.<</speech>>
<<set $office.studyVisitDone to true>>
<<if $office.studyVisit2WaitSleeps is -1 and not $office.studyVisit2Done>>
<<set $office.studyVisit2WaitSleeps to 2>>
<<set $office.studyVisit2Ready to false>>
<</if>>
<<set $world.time to "Night">>
<<set $today.eveningDone to true>>
<p class="scene-meta">First study night done. Notes: wait <strong>2 days</strong> for the next truth-or-dare session.</p>
[[Head home|Sleep]]
/* ── Christine's house (first visit) ─────────────────────── */<<set $world.location to "Town - Christine's House">>
<<if not $quests.studyChristine>>
<p>She has no reason to be here.</p>
[[Leave|Town Map]]
<<elseif not $office.studyVisitDone>>
<<goto "Study Christine House Enter">>
<<elseif $office.studyVisit2Ready and not $office.studyVisit2Done>>
<<goto "Study Christine Visit2">>
<<elseif $office.studyVisit2Done>>
<p>Christine's place is quiet for now.</p>
[[Leave|Town Map]]
<<else>>
<p>There's no study session tonight. Check Notes for when the next one is due.</p>
[[Leave|Town Map]]
<</if>><<set $world.location to "Town - Christine's House">>
<p>Daisy, David, and Christine arrive at Christine's house — not nearly as tidy as they expected.</p>
<<speech "Daisy">>You don't seem to like cleaning much, Christine.<</speech>>
<<speech "Christine">>We have gatherings. My step-brother brings girls over a lot.<</speech>>
<<speech "David">>So you have a step-brother. I have a step-sister.<</speech>>
<<speech "Christine">>Sit down, you two.<</speech>>
[[Start studying|Study Christine House Study]]<<set $world.location to "Town - Christine's House">>
<p>After forty minutes of study, Christine's step-brother walks in carrying drinks. He is a young man with blond hair.</p>
<<speech "Christine">>Everyone — this is Jimmy, my step-brother.<</speech>>
<img src="Images/Christine/Jimmypp.jpeg" alt="">
<<speech "Jimmy">>Hey. Sorry to interrupt — take a break, have a drink. I'll leave you to it.<</speech>>
<p>They push through another half hour and finish the day's material.</p>
<<speech "Christine">>We still have time. Fancy a game?<</speech>>
<<speech "David">>What kind?<</speech>>
<<speech "Christine">>Truth or dare.<</speech>>
<<speech "David">>I'm in. Call Jimmy too.<</speech>>
<<speech "Daisy">>Keep the dares reasonable, please.<</speech>>
[[Truth or dare|Study Christine Truth Dare]]<<set $world.location to "Town - Christine's House">>
<p>The four of them form a circle — Jimmy included.</p>
<<speech "Christine">>Same rules: the cap points to whoever chooses truth or dare. The base points to whoever asks or dares.<</speech>>
<<speech "David">>Ready?<</speech>>
<<speech "Daisy">>Yes — and excited.<</speech>>
[[David spins the bottle|Study Christine TD Spin1]]<<set $world.location to "Town - Christine's House">>
<p>The bottle stops: cap on <strong>Jimmy</strong>, base on <strong>Christine</strong>.</p>
<<speech "Christine">>Jimmy — truth or dare?<</speech>>
<<speech "Jimmy">>Truth.<</speech>>
<<speech "Christine">>Naughtiest secret you've kept?<</speech>>
<<speech "Jimmy">>My girlfriend in college had a cuckquean kink. She loved watching me with other girls.<</speech>>
<<speech "Daisy">>Like reverse cuckold.<</speech>>
<<speech "Jimmy">>Yeah. On my twenty-first birthday she gave me a big box. Three of her friends climbed out. She told me to fuck them in front of her. I still can't forget it.<</speech>>
[[Daisy imagines it|Study Christine TD Imagine]]<<set $world.location to "Town - Christine's House">>
<img src="Images/Christine/jimmy0.gif" alt="">
<img src="Images/Christine/jimmy1.gif" alt="">
<<speech "Christine">>That was really hot. You never told me.<</speech>>
<<speech "Jimmy">>That's why it was a secret. Spin again.<</speech>>
[[David spins again|Study Christine TD Spin2]]<<set $world.location to "Town - Christine's House">>
<p>Second spin: cap on <strong>Christine</strong>, base on <strong>David</strong>.</p>
<<speech "Christine">>Dare.<</speech>>
<<speech "David">>Take a nude right now and send it to the sixteenth person on your Instagram — if you're okay being nude in front of Jimmy.<</speech>>
<<speech "Christine">>Fine. Let me check who that is… Oops. My ex.<</speech>>
<<speech "David">>You still have to do it.<</speech>>
<p>Christine snaps a nude in front of everyone and sends it.</p>
<img src="Images/Christine/christinenude.jpeg" alt="">
<<speech "Christine">>He's online — asking me to come over.<</speech>>
<<speech "Jimmy">>Going?<</speech>>
<<speech "Christine">>Not yet. I'll keep playing—<</speech>>
<p>Her phone buzzes again.</p>
<<speech "Christine">>Oh shit. Dick pic. I can't resist. I'm craving him. We'll continue the game tomorrow.<</speech>>
<<speech "Daisy">>Okay. Tomorrow then.<</speech>>
<<stat "player.corruption" 1>>
<<set $office.studyVisitDone to true>>
<<if $office.studyVisit2WaitSleeps is -1 and not $office.studyVisit2Done>>
<<set $office.studyVisit2WaitSleeps to 2>>
<<set $office.studyVisit2Ready to false>>
<</if>>
<<set $world.time to "Night">>
<<set $today.eveningDone to true>>
<p class="scene-meta">First study night done. Notes: wait <strong>2 days</strong> for the next truth-or-dare session.</p>
[[Head home|Sleep]]
/* ═══════════════════════════════════════════════════════════
SECOND SESSION — wait 2d → Daisy's life (office) → house T&D 2
═══════════════════════════════════════════════════════════ *//* Original "Daisy's life" — quiet office day, then study house. */
<<set $world.location to "Town - Office">>
<<= setup.locBannerHtml("office")>>
<<if not $office.studyVisit2Ready or $office.studyVisit2Done>>
<<goto "Town Office">>
<</if>>
<img src="Images/Office/desk.jpeg" alt="">
<p>With a day free of interruptions, Daisy settles at her desk and works through the pile with full focus.</p>
<<set $today.officeShift to 2>>
<<set $player.money += 120>>
<<run setup.advanceTime(2)>>
<div class="fading-text fade-animation">Money +$120</div>
<<if $quests.studyDavid>>
<p>With her work finished, she heads to David's for another study session.</p>
[[David's house|Study David Visit2]]
<<else>>
<p>With her work finished, she heads to Christine's for another study session.</p>
[[Christine's house|Study Christine Visit2]]
<</if>>
/* ── David path visit 2 (original DAVID) ─────────────────── */<<set $world.location to "Town - David's House">>
<<if not $quests.studyDavid or not $office.studyVisit2Ready or $office.studyVisit2Done>>
<<goto "Study David House">>
<</if>>
<p>Daisy returns to David's house. David and Christine are already there, books open.</p>
<<speech "David">>Welcome, Daisy — we were waiting for you.<</speech>>
<<speech "Christine">>Let's start studying.<</speech>>
[[Study|Study David Visit2 Study]]<<set $world.location to "Town - David's House">>
<p>After an hour of study, they decide to play again and invite Emma to join them.</p>
<<speech "Daisy">>Who's spinning the bottle now?<</speech>>
<<speech "Christine">>Me.<</speech>>
[[Spin|Study David Visit2 Spin]]<<set $world.location to "Town - David's House">>
<p>The bottle stops: top on <strong>Emma</strong>, bottom on <strong>Christine</strong>.</p>
<<speech "Emma">>I'll take a dare.<</speech>>
<<speech "Christine">>I dare you to unzip David's pants and give him a blowjob in front of us.<</speech>>
<<speech "Emma">>What? He's my step-brother — how can I do that?<</speech>>
<<speech "Christine">>Please. I can tell from the way you look at each other that you've already fucked.<</speech>>
<<speech "Emma">>You're really a bitch. David — come here.<</speech>>
<<speech "Daisy">>What the hell? Have you two…?<</speech>>
<<speech "David">>Yeah. She rode me this morning.<</speech>>
<<speech "Christine">>Don't worry, Daisy. It's the world we live in.<</speech>>
<<speech "Emma">>Let me make this better. I'll take my clothes off too.<</speech>>
<p>Emma takes off her clothes, pulls David's cock free, and takes it into her mouth. Daisy watches with Christine, her throat growing dry.</p>
<img src="Images/David/emma1.gif" alt="">
<<speech "Daisy">>(Why the hell am I getting horny looking at his cock?)<</speech>>
<<speech "Christine">>You've been hiding a big one.<</speech>>
<img src="Images/David/emma2.webp" alt="">
<<speech "Daisy">>(My pussy's getting wet just watching them. I should look away.)<</speech>>
<p>Daisy turns her face away. Christine yanks her back.</p>
<<speech "Christine">>Oh no — you don't get to look away. Watch.<</speech>>
<<speech "Christine">>May I join you too?<</speech>>
<<speech "David">>Of course, darling.<</speech>>
<p>Christine joins Emma for a double blowjob. Daisy's hand drifts between her own thighs before she can stop it.</p>
<img src="Images/David/threesome0.gif" alt="">
<<speech "Daisy">>(What's wrong with me?) Sorry, there's something I need to do. I'll see you later.<</speech>>
<p>She bolts. Behind her, the others don't stop.</p>
<<speech "David">>What happened to her?<</speech>>
<<speech "Christine">>Let her go. Gulp…<</speech>>
<<speech "David">>Next part?<</speech>>
<<speech "Christine">>I'm ready, but I don't want him inside me yet. I'll help Emma.<</speech>>
<p>Emma rides David while Christine touches her, then Christine sits on David's face.</p>
<img src="Images/David/threesome1.gif" alt="">
<img src="Images/David/threesome2.gif" alt="">
<<speech "Christine">>Your tongue feels so good — ahh, I'm close—<</speech>>
<<speech "Emma">>Wait — I want to taste you.<</speech>>
<img src="Images/David/threesome3.gif" alt="">
<<speech "Emma">>Mmm. Loved that.<</speech>>
<<speech "Christine">>Let me clean you up.<</speech>>
<img src="Images/David/threesome4.gif" alt="">
<<speech "David">>My turn. Come here.<</speech>>
<img src="Images/David/threesome5.gif" alt="">
<<speech "Christine">>That was great. Next time I'll ride too.<</speech>>
<<speech "David">>Sure.<</speech>>
<<stat "player.corruption" 1>>
<<stat "player.loveJames" -1>>
<<set $office.studyVisit2Done to true>>
<<set $office.studyVisit2Ready to false>>
<<if $office.studyDay11WaitSleeps is -1 and not $office.studyDay11Done>>
<<set $office.studyDay11WaitSleeps to 2>>
<<set $office.studyDay11Ready to false>>
<</if>>
<<set $world.time to "Night">>
<<set $today.eveningDone to true>>
<p class="scene-meta">Second study night done. Notes: wait <strong>2 days</strong> — next truth-or-dare is at home.</p>
[[Head home|Sleep]]
/* ── Christine path visit 2 (original Christine + dares) ─── */<<set $world.location to "Town - Christine's House">>
<<if not $quests.studyChristine or not $office.studyVisit2Ready or $office.studyVisit2Done>>
<<goto "Study Christine House">>
<</if>>
<p>Daisy returns to Christine's. David and Christine are already set up to study.</p>
<<speech "David">>Welcome, Daisy — we were waiting for you.<</speech>>
<<speech "Christine">>Let's start studying.<</speech>>
[[Study|Study Christine Visit2 Study]]<<set $world.location to "Town - Christine's House">>
<p>After an hour of study, they invite Jimmy back for another game of truth or dare.</p>
<<speech "Daisy">>Who's spinning?<</speech>>
<<speech "Christine">>Me.<</speech>>
[[Spin|Study Christine Visit2 Spin]]<<set $world.location to "Town - Christine's House">>
<p>Top points at <strong>David</strong>, bottom at <strong>Daisy</strong>.</p>
<<speech "David">>I'll take a dare.<</speech>>
<<speech "Daisy">>So I dare you to…<</speech>>
[[Do the weirdest dance possible|Study Christine Visit2 Dance]]
[[Prank-call the boss as a condom ad|Study Christine Visit2 Prank]]<<set $world.location to "Town - Christine's House">>
<<speech "Daisy">>…do the weirdest dance possible.<</speech>>
<<speech "Christine">>Is that a dare? We're not kids. Can I give him one instead?<</speech>>
<<speech "David">>Fine by me.<</speech>>
<<speech "Christine">>Flash your dick at a girl walking on the street.<</speech>>
<<speech "Jimmy">>Now that sounds interesting.<</speech>>
<<speech "David">>Okay. Wait here.<</speech>>
<p>David goes outside, makes the bulge in his pants stand out, and asks a woman for directions. She stares.</p>
<img src="Images/David/dickflash.gif" alt="">
<p>He returns laughing, and everyone joins in.</p>
<<speech "Christine">>You really did it.<</speech>>
<<speech "David">>Thanks. Spin again.<</speech>>
[[Spin again|Study Christine Visit2 Spin Daisy]]<<set $world.location to "Town - Christine's House">>
<<speech "Daisy">>…prank-call our boss and pretend to be a condom ad.<</speech>>
<<speech "Jimmy">>That's actually good.<</speech>>
<<speech "Christine">>I thought she'd pick something lame. Nice.<</speech>>
<<speech "David">>You're going to get me fired.<</speech>>
<p>He calls Jayden and flirts in a high voice, asking, "What if I get pregnant?" Then he switches to his own voice to sell condoms. Jayden gets angry, and everyone bursts out laughing.</p>
<<speech "Christine">>That was excellent.<</speech>>
<<speech "Daisy">>I can't stop laughing.<</speech>>
<<speech "Jimmy">>Spin it again.<</speech>>
[[Spin again|Study Christine Visit2 Spin Daisy]]<<set $world.location to "Town - Christine's House">>
<p>Jimmy spins. Top on <strong>Daisy</strong>, bottom on <strong>Christine</strong>.</p>
<<speech "Daisy">>Okay — I choose…<</speech>>
[[Truth|Study Christine Visit2 Truth]]
[[Dare|Study Christine Visit2 Dare]]<<set $world.location to "Town - Christine's House">>
<<speech "Daisy">>Truth.<</speech>>
<<speech "Christine">>What's the most erotic dream you've ever had?<</speech>>
<<speech "Daisy">>World War II. James was an army commander. His friend was terrified of dying a virgin, so James… let him use me. He fucked me as though it was his last chance.<</speech>>
<img src="Images/Daisy/truth1.gif" alt="">
<img src="Images/Daisy/truth2.gif" alt="">
<<speech "Daisy">>He survived and told his friends. They all came to James with the same fear. He let them use me one by one. Hundreds of men in a week.<</speech>>
<img src="Images/Daisy/truth3.gif" alt="">
<img src="Images/Daisy/truth4.gif" alt="">
<<speech "Daisy">>We won the war too.<</speech>>
<<speech "David">>Haha — that's wild.<</speech>>
<<speech "Jimmy">>Soaked panties when you woke up?<</speech>>
<<speech "Daisy">>No. It was disgusting.<</speech>>
<<speech "Christine">>Don't lie in truth or dare.<</speech>>
<<speech "Daisy">>…Yeah. Soaked. I even masturbated after.<</speech>>
<<speech "David">>Didn't know you were that naughty.<</speech>>
<<speech "Daisy">>I'm not — it was just—<</speech>>
<<speech "Christine">>No need to explain. We'll keep playing later.<</speech>>
<<speech "Daisy">>Yeah. Later.<</speech>>
<<speech "Jimmy">>Tomorrow then.<</speech>>
<<stat "player.corruption" 1>>
[[Continue|Study Christine Visit2 End]]<<set $world.location to "Town - Christine's House">>
<<speech "Daisy">>Dare.<</speech>>
<<speech "Christine">>Kiss me.<</speech>>
<<speech "Daisy">>What? I have a husband—<</speech>>
<<speech "Christine">>I'm a girl. It doesn't count. A dare is a dare.<</speech>>
<<speech "Daisy">>Ahhh… fine. Come here.<</speech>>
<img src="Images/Daisy/kissing1.gif" alt="">
<<speech "Christine">>See? Not that hard.<</speech>>
<<speech "Daisy">>Yeah… you're right.<</speech>>
<<speech "David">>You two looked hot.<</speech>>
<p>Jimmy pulls Christine into a kiss of his own.</p>
<img src="Images/Daisy/kissing2.gif" alt="">
<<speech "Daisy">>What the hell? Aren't you siblings?<</speech>>
<<speech "Christine">>Step-siblings. We'll keep playing tomorrow.<</speech>>
<<speech "Jimmy">>Tomorrow then.<</speech>>
<<stat "player.corruption" 1>>
<<stat "player.loveJames" -1>>
[[Continue|Study Christine Visit2 End]]<<set $office.studyVisit2Done to true>>
<<set $office.studyVisit2Ready to false>>
<<if $office.studyDay11WaitSleeps is -1 and not $office.studyDay11Done>>
<<set $office.studyDay11WaitSleeps to 2>>
<<set $office.studyDay11Ready to false>>
<</if>>
<<set $world.time to "Night">>
<<set $today.eveningDone to true>>
<p class="scene-meta">Second study night done. Notes: wait <strong>2 days</strong> — next truth-or-dare is at home.</p>
[[Head home|Sleep]]<<set $world.day to 1>>
<<set $world.time to "Morning">>
<<set $world.location to "Home - Bedroom">>
<<set $player.money to 200>>
<img src="Images/Day 1/D10.jpeg" alt="">
<p>Daisy wakes early, remembering that she needs an outfit for her first day at the new office. It's only 6:00 a.m., though. She could stay in bed for another hour.</p>
<img src="Images/Day 1/D11.jpeg" alt="">
<p>She tries to fall asleep again but can't. James is still sound asleep beside her, and her eyes drift toward the shape beneath the sheets.</p>
<p>A naughty thought crosses her mind.</p>
<<speech "Daisy">>Should I?<</speech>>
[[Yes — wake him up properly|Day 1 Morning Yes]]
[[No — let him sleep, go to the roof|Day 1 Morning Roof]]<<set $world.location to "Home - Bedroom">>
<<speech "Daisy">>I'll just make it quick. Besides… I love seeing James wake up when I'm working on his dick.<</speech>>
<p>She slips under the sheets and bites her lip as she pulls his shorts down. His cock is already hard. She wraps her lips around the tip and begins to suck slowly.</p>
<img src="Images/Day 1/D12.webp" alt="">
<p>James stirs at the warm, wet pressure around him.</p>
<<speech "James">>Ohhh— Fuck, Daisy… What are you—<</speech>>
<p>She pulls off with a playful smirk.</p>
<<speech "Daisy">>What do you think I'm doing?<</speech>>
<p>She rolls her eyes and goes back down. James moans under his breath and rests a hand on the back of her head.</p>
<<speech "James">>Keep going then.<</speech>>
[[Start sucking again|Day 1 Morning Sex]]<p>James sits up as Daisy hums around him. When she pulls away with a grin, he smiles back at her.</p>
<<speech "James">>I think it's my turn.<</speech>>
<p>She gives a playful yelp as he lifts her, removes her clothes, and brings her in front of him.</p>
<<speech "Daisy">>Someone's horny~<</speech>>
<<speech "James">>I wonder who did that?<</speech>>
<p>Daisy laughs and leans back against him. He presses into her, then begins to fuck her with firm, steady strokes.</p>
<img src="Images/Day 1/D13.gif" alt="">
<img src="Images/Day 1/D14.gif" alt="">
[[Next|Day 1 Morning Climax]]<img src="Images/Day 1/D15.gif" alt="">
<p>Her moans fill the room. James leans forward, breathless.</p>
<<speech "James">>Ready to eat your protein?<</speech>>
<<speech "Daisy">>When— Ahh— When am I not?<</speech>>
<p>He pulls out, guides her to her knees, and cums across her face.</p>
<img src="Images/Day 1/D16.gif" alt="">
<<speech "Daisy">>Mmmm… Thanks, sweetie. I'm gonna go take a shower.<</speech>>
<<stat "player.loveJames" 1>>
<<set $day1.morningDone to true>>
[[Next|Sunday Reflection]]<<set $world.location to "Home - Roof">>
<<speech "Daisy">>No. I'll just relax a bit on the roof.<</speech>>
<p>Daisy heads up to the empty roof. Pleased to have it to herself, she lies on a bench and enjoys the warm sun as she thinks back over the years.</p>
<<speech "Daisy">>I still remember how I met James…<</speech>>
<<speech "Daisy">>I said no when he first asked me out, but I changed my mind. We've been together five years now and got married last year.<</speech>>
<p>She catches herself smiling.</p>
<p>She snaps out of it — and freezes. Down on the street, a couple is making out hard… and clearly doing a lot more than that, right in the open.</p>
<img src="Images/Day 1/D17.gif" alt="">
<<speech "Daisy">>What— Are they seriously… Wait. What am I doing? I shouldn't be watching!<</speech>>
<p>Daisy stands and marches back down to the apartment, cheeks warm.</p>
<<speech "Daisy">>I need a shower…<</speech>>
<<stat "player.corruption" 1>>
<<stat "player.loveJames" -1>>
<<set $day1.morningDone to true>>
[[Next|Sunday Reflection]]
/* ── Reflection ────────────────────────────────────────── */<<set $world.location to "Home - Bedroom">>
<p>Daisy lies back for a moment, catches her breath, and thinks about the week ahead.</p>
<<speech "Daisy">>My first day at Banana is on Monday.<</speech>>
<p>The thought of a new office, new coworkers, and a new role makes her nervous. Still, she feels excited too. This is a chance to start fresh in a new town and see where her career takes her.</p>
<<speech "Daisy">>I don't even have anything to wear yet. I'll need to shower, get dressed, and go find something proper for the office.<</speech>>
<<speech "Daisy">>If there's time after that... maybe I'll walk around town a bit. Get to know the place before I'm stuck behind a desk all week.<</speech>>
<p>She smiles to herself, nerves and excitement tangled together, and settles in beside James for the night.</p>
[[Sleep|Day 1 Sleep]]
/* ═══════════════════════════════════════════
END OF DAY 1
═══════════════════════════════════════════ */<<set $world.time to "Night">>
<<set $world.location to "Home - Bedroom">>
<<set $world.day += 1>>
<img src="Images/Daisy/sleep.jpeg" alt="">
<p>Daisy settles in beside James. Her first day at Banana is drawing closer, and the small choices she's made today have already begun to shape her new life.</p>
[[Continue|Morning Wake]]<<set $world.location to "Town - Cafe">>
<<= setup.locBannerHtml("cafe")>>
<p>The cafe feels cozy, with the smell of coffee, soft music, and people chatting at small tables.</p>
<<if $quests.cafeJob>>
<<set _cafeLevel to $cafe.level>>
<<set _cafeRank to setup.cafeRankName(_cafeLevel)>>
<<set _cafeMaxed to _cafeLevel >= setup.CAFE_MAX_LEVEL>>
<<set _cafeNeeded to setup.cafeXpNeeded(_cafeLevel)>>
<<if _cafeMaxed>>
<<set _cafePct to 100>>
<<else>>
<<set _cafePct to Math.round(($cafe.xp / _cafeNeeded) * 100)>>
<<set _cafePct to Math.max(0, Math.min(100, _cafePct))>>
<</if>>
<div class="job-progress">
<div class="job-progress-row">
<span class="job-progress-rank"><<= _cafeRank>></span>
<span class="job-progress-level">Lv <<= _cafeLevel>></span>
</div>
<div class="job-progress-bar" role="progressbar" aria-valuemin="0" aria-valuemax="100" @aria-valuenow="_cafePct" @style="'--job-pct:' + _cafePct + '%'">
<div class="job-progress-fill"></div>
<span class="job-progress-pct"><<= _cafePct>>%</span>
</div>
<div class="job-progress-sub"><<if _cafeMaxed>>Max level<<else>><<= $cafe.xp>> / <<= _cafeNeeded>> XP<</if>></div>
</div>
<</if>>
<<if not $quests.cafeJob>>
<p>A man who looks like the owner is at the counter. She could ask about work — or just look around and leave.</p>
[[Ask if they have work|Cafe Ask For Work]]
[[Just looking|Town Map]]
<<elseif not $today.cafeShiftDone>>
<<if setup.cafeFirstFloorReady()>>
<p>Sergio is at the counter. The first-floor offer is still open.</p>
[[Ask about the first-floor offer|Cafe First Floor Accept]]
[[Not today|Town Map]]
<<else>>
<<set _cafePay to setup.cafeShiftPay($cafe.level)>>
<<speech "Sergio">>Back for a shift?<</speech>>
<<link `"Work a shift ($" + _cafePay + " + tips)"` "Cafe Shift">><</link>>
[[Not today|Town Map]]
<</if>>
<<else>>
<<speech "Sergio">>See you at your next shift!<</speech>>
[[Leave|Town Map]]
<</if>><<set $world.location to "Town - Cafe">>
<<= setup.locBannerHtml("cafe")>>
<<if $quests.cafeJob>>
<<goto "Town Cafe">>
<</if>>
<<speech "Daisy">>Hello!<</speech>>
<<speech "Sergio">>How can I help you, miss?<</speech>>
<<speech "Daisy">>Hi, my name is Daisy. I live nearby — your cafe looked so nice I wanted to see inside.<</speech>>
<<speech "Sergio">>Thank you, I get that a lot. Would you like to buy anything?<</speech>>
<<speech "Daisy">>Oh, no, sorry — I was actually looking for a part-time job.<</speech>>
<<speech "Sergio">>Would you like to work as a waitress? Afternoon and evening shifts pay $15 plus tips. You could earn a raise if you do well… or persuade me.<</speech>>
<p>Sergio's smile makes Daisy uneasy, but she decides to ignore it for now.</p>
<<speech "Daisy">>Great. I look forward to working with you.<</speech>>
<p>She leaves with a second job lined up and a little extra room in the budget for later.</p>
<<set $town.cafeDone to true>>
<<set $quests.cafeJob to true>>
<<toast "New quest: Cafe Job" "good">>
[[Leave|Town Map]]
/* ═══════════════════════════════════════════════════════════
CAFE SHIFT — mundane randoms (no repeatable flirt / corruption farm).
The shift that would promote 2 → 3 (or catch-up if already 3+
without gropeDone) plays original CFD6/YD3/ND6 + first-floor talk.
Flash yes needs Corruption ≥ 25.
First Lv 3 shift after the offer: original CD7/FD7/3D7/N4D7.
Next Lv 3 shift after panty: original S2D10/WD10/N2D10 (spill — washroom choice).
═══════════════════════════════════════════════════════════ */<<widget "cafeShiftEnd">>
<<if $cafe.justLeveled>>
<<set _levelMsg to "Waitress level up! Now " + setup.cafeRankName($cafe.level) + " (Lv " + $cafe.level + ")">>
<<toast _levelMsg "good">>
<p><i>Daisy's getting the hang of this — Sergio's noticed too.</i></p>
<<set $cafe.justLeveled to false>>
<</if>>
[[Leave|Town Map]]
<</widget>><<set $today.cafeShiftDone to true>>
<<if setup.cafeGropeReady()>>
<<goto "Cafe Grope Start">>
<<elseif setup.cafeFirstFloorReady()>>
<<goto "Cafe First Floor Accept">>
<<elseif setup.cafeSpillReady()>>
<<goto "Cafe First Floor Spill">>
<<else>>
<<set $cafe.lastPay to setup.cafeShiftPay($cafe.level)>>
<<set $cafe.lastTip to random(3, 12)>>
<<set $player.money += $cafe.lastPay + $cafe.lastTip>>
<<set _shiftResult to setup.cafeDoShift()>>
<<set $cafe.justLeveled to !!_shiftResult.leveled>>
<<set _ev to setup.cafePickShiftEvent()>>
<<goto _ev>>
<</if>><p>Lisa assigns Daisy tables three, four, eight, and twelve. She soon finds a rhythm, carrying coffee and plates while greeting each customer with a polite smile.</p>
<img src="Images/Day 5/d60.jpg" alt="">
<p>No one causes any trouble, so she gets on with her work.</p>
<p>She clocks out with $<<= $cafe.lastPay>> for the shift plus $<<= $cafe.lastTip>> in tips.</p>
<div class="fading-text fade-animation">Money +$<<= $cafe.lastPay + $cafe.lastTip>></div>
<<speech "Lisa">>That's the lot. See you next time.<</speech>>
<<cafeShiftEnd>><p>A latte almost goes over when a chair scrapes behind her. Daisy catches the cup, says sorry, and puts it back on its saucer.</p>
<img src="Images/Day 5/d60.jpg" alt="">
<<speech "Lisa">>Nice save. I didn't even see that.<</speech>>
<p>She clocks out with $<<= $cafe.lastPay>> for the shift plus $<<= $cafe.lastTip>> in tips.</p>
<div class="fading-text fade-animation">Money +$<<= $cafe.lastPay + $cafe.lastTip>></div>
<<cafeShiftEnd>><p>The lunch rush brings two large groups and a queue for takeaway coffee. With the espresso machine running nonstop, Lisa has only a moment to point Daisy toward the tables.</p>
<img src="Images/Day 5/d60.jpg" alt="">
<p>By the time it thins out, Daisy's apron is stained and her feet hurt. Lisa looks almost impressed.</p>
<<speech "Lisa">>You kept up. That's more than the last trainee did.<</speech>>
<p>She clocks out with $<<= $cafe.lastPay>> for the shift plus $<<= $cafe.lastTip>> in tips.</p>
<div class="fading-text fade-animation">Money +$<<= $cafe.lastPay + $cafe.lastTip>></div>
<<cafeShiftEnd>><p>In the last hour of her shift, Daisy wipes tables while a couple shares a pastry. Soft music plays as Sergio counts the money in the till.</p>
<img src="Images/Day 5/d60.jpg" alt="">
<<speech "Sergio">>I like a quiet end to the day.<</speech>>
<p>She clocks out with $<<= $cafe.lastPay>> for the shift plus $<<= $cafe.lastTip>> in tips.</p>
<div class="fading-text fade-animation">Money +$<<= $cafe.lastPay + $cafe.lastTip>></div>
<<cafeShiftEnd>><p>The same man as last week is in the window seat. He doesn't look at the menu.</p>
<<speech "Lisa">>Oat cortado, extra hot. He only ever orders that. Don't ask him if he wants anything else — he'll talk for twenty minutes.<</speech>>
<img src="Images/Day 5/d60.jpg" alt="">
<p>She sets down his drink. He nods and returns to his book, making her job easy.</p>
<p>She clocks out with $<<= $cafe.lastPay>> for the shift plus $<<= $cafe.lastTip>> in tips.</p>
<div class="fading-text fade-animation">Money +$<<= $cafe.lastPay + $cafe.lastTip>></div>
<<cafeShiftEnd>>
/* ═══════════════════════════════════════════════════════════
LEVEL 2 → 3 — original CFD6 grope, YD3 flash / ND6 refuse,
then Lisa first-floor talk. Images: Day 6/d611, d612, d613.
═══════════════════════════════════════════════════════════ */<<speech "Sergio">>Hi Daisy. Are you ready for your shift?<</speech>>
<<speech "Daisy">>Yes, sir.<</speech>>
<<speech "Sergio">>Good. Locker room on the left — change into your work outfit and start serving.<</speech>>
<<speech "Daisy">>Okay.<</speech>>
<p>Daisy heads to the locker room and changes into the waitress dress.</p>
<img src="Images/Day 6/d611.webp" alt="">
<<speech "Daisy">>All set.<</speech>>
[[Start work|Cafe Grope Table]]<p>Dressed for her shift, Daisy returns to the counter. Lisa assigns her tables and tells her which orders to take out.</p>
<<speech "Lisa">>Daisy — table eight. Take this coffee over.<</speech>>
<<speech "Daisy">>Okay.<</speech>>
<p>She brings the cup to table eight. As she turns to leave, one of the men at the table grabs her ass.</p>
<img src="Images/Day 6/d612.gif" alt="">
<p>How should Daisy react?</p>
[[Ignore it|Cafe Grope Offer]]
[[Take his hand off|Cafe Grope Push]]<p>She tries to keep walking as though nothing happened, but stops when he speaks.</p>
<<speech "Guy">>You've got a great ass. Extra tip if you flash your tits and stick your tongue out.<</speech>>
<<speech "Daisy">>(Extra tip… I need the money. But showing a stranger my chest is a different matter.)<</speech>>
<<speech "Guy">>A hundred dollars. Just to see them.<</speech>>
<<speech "Daisy">>(A hundred?)<</speech>>
<p>Should Daisy take the offer?</p>
<<if $player.corruption gte 25>>
[[Yes — flash him for $100|Cafe Grope Flash]]
<<else>>
<p class="scene-meta">Flash him for $100 — she hasn't got the nerve. (Need Corruption 25)</p>
<</if>>
[[No|Cafe Grope Refuse]]<p>She wants the money more than she wants to walk away. She lifts her top and flashes him, tongue out.</p>
<img src="Images/Day 6/d613.gif" alt="">
<<speech "Guy">>Damn, girl. With tits like those, you should never wear a top. Here's your hundred.<</speech>>
<<set $player.money += 100>>
<div class="fading-text fade-animation">Money +$100</div>
<<stat "player.corruption" 1>>
<<set $cafe.gropeChoice to "flash">>
<p>She doesn't stay to chat. She moves away from his table as fast as she can.</p>
[[Lisa|Cafe Grope Lisa Flash]]<p>Daisy yanks his hand off and leaves the table. There is no mistaking what she thinks of that.</p>
<<set $cafe.gropeChoice to "push">>
[[Lisa|Cafe Grope Lisa Angry]]<p>She leaves the table without taking the money. Her face is still hot when she gets back to the counter.</p>
<<set $cafe.gropeChoice to "refuse">>
[[Lisa|Cafe Grope Lisa Angry]]<<speech "Lisa">>Did you just flash that guy?<</speech>>
<<speech "Daisy">>Yeah. He gave me a hundred, too.<</speech>>
<<speech "Lisa">>I think he might have mistaken you for the girls on the first floor.<</speech>>
[[First floor?|Cafe First Floor]]<<speech "Lisa">>What happened, Daisy? You look angry.<</speech>>
<<speech "Daisy">>The guy at table eight grabbed my ass. It was disgusting.<</speech>>
<<speech "Lisa">>I'm really sorry. I guess he may have mistaken you for the girls on the first floor.<</speech>>
[[First floor?|Cafe First Floor]]<<speech "Daisy">>What? First floor?<</speech>>
<<speech "Lisa">>Yeah. There's another cafe upstairs, but it's lewd — waitresses in short dresses, and customers can grope them. The pay is higher, though.<</speech>>
[[Letting strangers touch you for money is disgusting.|Cafe First Floor Disgust]]
[[For extra money… I guess it's fair enough.|Cafe First Floor Fair]]<<set $cafe.firstFloorOpinion to "disgusting">>
<<set $cafe.firstFloorTalkDone to true>>
<<speech "Daisy">>Letting strangers touch you for money. Disgusting.<</speech>>
<<speech "Lisa">>Yeah, I hate it too. Sometimes I even see girls fucking customers for money.<</speech>>
<<speech "Daisy">>Really?<</speech>>
<<speech "Lisa">>Yeah. You should get back to your shift.<</speech>>
[[Continue|Cafe Grope Pay]]<<set $cafe.firstFloorOpinion to "fair">>
<<set $cafe.firstFloorTalkDone to true>>
<<stat "player.corruption" 1>>
<<speech "Daisy">>For extra money… I guess it's fair enough.<</speech>>
<<speech "Lisa">>I don't agree. Dignity's the most important thing.<</speech>>
<<speech "Daisy">>Yeah — but sometimes you listen to your heart. I think every woman has fantasized about being groped. Dignity still comes first.<</speech>>
<<speech "Lisa">>Haha. Only when the dopamine's high. Get back to work.<</speech>>
<<speech "Daisy">>Yeah.<</speech>>
[[Continue|Cafe Grope Pay]]<<set _pay to setup.cafeShiftPay($cafe.level)>>
<p>The rest of the shift is ordinary. She finishes it, then goes to Sergio for her pay.</p>
<img src="Images/Day 5/d60.jpg" alt="">
<<speech "Sergio">>You did great work, Daisy. Here's your money.<</speech>>
<<set $player.money += _pay>>
<div class="fading-text fade-animation">Money +$<<= _pay>></div>
<<set $cafe.gropeDone to true>>
<<set $cafe.firstFloorOffered to true>>
<<set _result to setup.cafeDoShift()>>
<<speech "Daisy">>Thanks.<</speech>>
<<speech "Sergio">>You don't look too happy with it. Something wrong?<</speech>>
<<speech "Daisy">>$<<= _pay>> isn't enough.<</speech>>
<<speech "Sergio">>You can earn more if you work on the first floor.<</speech>>
<<speech "Daisy">>Thank you — but I don't think I want to work there.<</speech>>
<<speech "Sergio">>No problem. The first-floor doors are always open if you change your mind.<</speech>>
<<if _result.leveled>>
<<set _levelMsg to "Waitress level up! Now " + setup.cafeRankName(_result.level) + " (Lv " + _result.level + ")">>
<<toast _levelMsg "good">>
<</if>>
[[Leave|Town Map]]
/* ═══════════════════════════════════════════════════════════
LEVEL 3 first shift — original CD7 accept + FD7 / 3D7 / N4D7.
Images: Day 7/d718–d721, d723, d724. Pay $70 (original).
Later first-floor shifts (CD9 plug, CD10 spill) not built.
═══════════════════════════════════════════════════════════ */<<set $today.cafeShiftDone to true>>
<<set $cafe.firstFloorAccepted to true>>
<p>Daisy goes straight to Sergio.</p>
<<speech "Sergio">>Hello, Daisy.<</speech>>
<<speech "Daisy">>Hi, Sergio. Do you remember the offer you gave me — working on the first floor?<</speech>>
<<speech "Sergio">>Yeah, I remember that.<</speech>>
<<speech "Daisy">>I want to accept that offer.<</speech>>
<<speech "Sergio">>That's great. What made you change your mind?<</speech>>
<<speech "Daisy">>Nothing. I just want some extra money.<</speech>>
<<speech "Sergio">>Okay. You can start today if you want.<</speech>>
<<speech "Daisy">>Yeah. Sure.<</speech>>
<<speech "Sergio">>Go up to the first floor and tell them I sent you.<</speech>>
<<speech "Daisy">>Okay.<</speech>>
[[First floor|Cafe First Floor Arrive]]<p>As Daisy goes upstairs for her new shift, she notices the difference at once. Most of the customers are men. The waitresses wear tiny skirts and low-cut tops that show their cleavage.</p>
<img src="Images/Day 7/d718.jpg" alt="">
<<speech "Danny">>Oh — hi. Are you Daisy?<</speech>>
<<speech "Daisy">>Yeah.<</speech>>
<<speech "Danny">>Sergio told me about you. Change into the new dress in the locker room — right side.<</speech>>
<<speech "Daisy">>Okay.<</speech>>
[[Locker room|Cafe First Floor Locker]]<p>In the locker room, she puts on the new uniform. The short dress leaves her feeling exposed, and she fears her breasts might slip out if she moves too much.</p>
<img src="Images/Day 7/d719.jpg" alt="">
<<speech "Daisy">>Oh god. Do I have to work in this? What if James saw me like this? …It's not cheating. I'm just showing some skin. Letting someone grope me. I'm not fucking anyone for money.<</speech>>
<p>In the short waitress dress she goes back to Danny for instructions.</p>
<<speech "Danny">>You look great in that outfit, Daisy.<</speech>>
<<speech "Daisy">>Thank you, Danny. Which table do I start at?<</speech>>
<<speech "Danny">>Go to the third table.<</speech>>
<<speech "Daisy">>Okay.<</speech>>
[[3rd table|Cafe First Floor Table]]<p>She takes drinks to the third table. As she gets close, a customer drops a spoon on purpose.</p>
<img src="Images/Day 7/d720.jpg" alt="">
<<speech "Guy">>Oh, sorry, miss — can you pick that up for me?<</speech>>
<p>Daisy knows he dropped it on purpose. Bending down will show her panties, but she knew this floor would be like this.</p>
<<speech "Daisy">>Sure, sir.<</speech>>
<p>She bends to pick up the spoon. Everyone at the table can see her panties.</p>
<img src="Images/Day 7/d721.jpg" alt="">
<<speech "Guy">>What the fuck? Why are you wearing panties here?<</speech>>
<<speech "Daisy">>I don't understand what you're saying, sir.<</speech>>
<<speech "Guy">>You can't wear panties here. I paid money to see these pussies — not this fucking piece of cloth.<</speech>>
<p>Danny hurries over.</p>
<<speech "Danny">>What happened, sir?<</speech>>
<<speech "Guy">>Why is this girl wearing panties?<</speech>>
<<speech "Danny">>I'm really sorry — she's new. That's why.<</speech>>
<<speech "Guy">>Remove your panties. Now.<</speech>>
<<speech "Danny">>Daisy, please do as he asks.<</speech>>
<<speech "Guy">>Danny, this is your fault. You didn't tell her the rules. Both of you remove your panties now.<</speech>>
<<speech "Danny">>Okay, sir. Daisy, do what he says. We can't afford a bad reputation.<</speech>>
[[Remove her panty|Cafe First Floor Panty]]<<stat "player.corruption" 1>>
<p>She can't see a way out after agreeing to work upstairs, so she takes off her panties.</p>
<img src="Images/Day 7/d723.gif" alt="">
<<speech "Guy">>Now that's how you sluts should live.<</speech>>
<p>He says it while putting his fingers inside her.</p>
<img src="Images/Day 7/d724.gif" alt="">
<<speech "Guy">>You may go now.<</speech>>
[[Next|Cafe First Floor Pay]]<p>The rest of the shift is quiet. When she's done, she goes to Danny for her pay.</p>
<<speech "Danny">>You did a great job, Daisy. I'm sorry I forgot to tell you — you can't wear panties or a bra here. Here's your money. You can leave now.<</speech>>
<<set $cafe.lastPay to 70>>
<<set $cafe.lastTip to 0>>
<<set $player.money += 70>>
<div class="fading-text fade-animation">Money +$70</div>
<<set $cafe.firstFloorPantyDone to true>>
<<set _result to setup.cafeDoShift()>>
<<set $cafe.justLeveled to !!_result.leveled>>
<<cafeShiftEnd>>
/* ═══════════════════════════════════════════════════════════
LEVEL 3 second shift — original S2D10 / WD10 / N2D10.
Spill at table 5. Remake adds: take him to the washroom or not.
Images: Day 10/d102–d106. Shift pay $70; washroom path +$30 tip.
CD9 plug table still not built.
═══════════════════════════════════════════════════════════ */<p>Daisy returns to the counter in her short waitress dress, and Danny assigns her tables.</p>
<<speech "Danny">>Daisy — table five. Take this coffee over.<</speech>>
<<speech "Daisy">>Okay.<</speech>>
<p>She takes the cup to table five. As she sets it down, it tips — coffee soaks the customer's pants.</p>
<img src="Images/Day 10/d102.gif" alt="">
<<speech "Guy">>What the fuck!<</speech>>
<<speech "Daisy">>I'm really sorry.<</speech>>
<<speech "Guy">>You stupid bitch. You can't even serve a cup of coffee.<</speech>>
<img src="Images/Day 10/d103.gif" alt="">
<p>He wants her to clean his pants. She can take him to the washroom or bring him a towel here.</p>
[[Take him to the washroom|Cafe First Floor Spill Washroom]]
[[Give him a towel and stay here|Cafe First Floor Spill Refuse]]<<set $cafe.firstFloorSpillChoice to "washroom">>
<<stat "player.corruption" 1>>
<<stat "player.loveJames" -1>>
<<speech "Daisy">>I'm really sorry, sir. Come with me to the washroom — I'll help you dry it.<</speech>>
<p>She fetches a towel and follows him in, still apologizing.</p>
<<speech "Guy">>I want you to clean it yourself.<</speech>>
<<speech "Daisy">>What?<</speech>>
<<speech "Guy">>You heard me. Clean it. Now.<</speech>>
<<speech "Daisy">>Okay, sir.<</speech>>
<p>Embarrassed, she works the towel over his pants, trying to make it right.</p>
<img src="Images/Day 10/d104.gif" alt="">
<<speech "Guy">>My pants are clean, but there's still some coffee here.<</speech>>
<p>He pulls his pants open. His cock is right in front of her.</p>
<img src="Images/Day 10/d105.gif" alt="">
<<speech "Daisy">>What—<</speech>>
<<speech "Guy">>Clean it, or I get you fired.<</speech>>
<<speech "Daisy">>(Just my hands. I'm not doing this because I want to.) Okay.<</speech>>
<p>As she works him with her hands, her phone rings. It's James.</p>
<<speech "James">>Hey, Daisy.<</speech>>
<<speech "Daisy">>Hi.<</speech>>
<<speech "James">>I'll be home late. Extra work at the office.<</speech>>
<<speech "Daisy">>Okay, baby. Take care.<</speech>>
<p>While she's still on the call, he pulls her in and cums on her face.</p>
<img src="Images/Day 10/d106.gif" alt="">
<<speech "Daisy">>What the hell are you doing?<</speech>>
<<speech "Guy">>Sorry, I couldn't resist that pretty face. Here, take a tip.<</speech>>
<<set $cafe.lastTip to 30>>
<<set $player.money += 30>>
<div class="fading-text fade-animation">Money +$30</div>
<<speech "Daisy">>(He just came on my face and paid me. I'm not a whore. But I need the money.)<</speech>>
<p>She takes the bills and wipes her face with a tissue.</p>
[[Next|Cafe First Floor Spill Pay]]<<set $cafe.firstFloorSpillChoice to "refuse">>
<<set $cafe.lastTip to 0>>
<<stat "player.loveJames" 1>>
<<speech "Daisy">>I'm sorry — I'll get you a towel. I'm not taking you to the washroom.<</speech>>
<p>She brings a towel and a stack of napkins and sets them on the table. He stares at the wet stain, then at her.</p>
<<speech "Guy">>You're going to leave me like this? Take me in the back and clean it properly.<</speech>>
<<speech "Daisy">>No. I'm sorry for the spill. That's as far as I go.<</speech>>
<p>Danny hears the raised voice and comes over.</p>
<<speech "Danny">>I've got this. Finish your section.<</speech>>
<p>She takes the towel from Daisy, says something quiet to the customer, and walks him toward the washroom. The door doesn't quite latch.</p>
<p>Daisy should return to her tables, but she notices the washroom door is still partly open.</p>
[[Peek|Cafe First Floor Spill Peek]]
[[Don't look — go back to work|Cafe First Floor Spill No Peek]]<<set $cafe.firstFloorSpillPeek to "peek">>
<<stat "player.corruption" 1>>
<p>She knows she shouldn't look, yet she walks over to the washroom and gently pushes the door a little wider.</p>
<p>Danny is on her knees in front of him, his stained pants around his thighs, her mouth on his cock.</p>
<video src="Images/Daisy/danny_bj.webm" autoplay muted loop playsinline></video>
<p>Daisy's face grows hot. She steps back before either of them notices and finishes serving her tables, staying well away from the washroom.</p>
[[Next|Cafe First Floor Spill Pay]]<<set $cafe.firstFloorSpillPeek to "away">>
<p>She turns away, leaving Danny to handle the customer. For the rest of her shift, Daisy keeps busy serving food and coffee and stays away from the washroom.</p>
[[Next|Cafe First Floor Spill Pay]]<p>When she's done, she goes to Danny for her pay.</p>
<<speech "Danny">>You did a great job, Daisy. Here's your money. You can leave now.<</speech>>
<<set $cafe.lastPay to 70>>
<<if ndef $cafe.lastTip>><<set $cafe.lastTip to 0>><</if>>
<<if $cafe.firstFloorSpillChoice isnot "washroom">><<set $cafe.lastTip to 0>><</if>>
<<set $player.money += 70>>
<div class="fading-text fade-animation">Money +$70</div>
<<set $cafe.firstFloorSpillDone to true>>
<<set _result to setup.cafeDoShift()>>
<<set $cafe.justLeveled to !!_result.leveled>>
<<cafeShiftEnd>><<set $world.location to "Town">>
<<= setup.locBannerHtml("town")>>
<<run setup.advanceTime(1)>>
/* Ekon quest routing — the ambush itself no longer triggers from here;
it happens when Daisy leaves Max's first tutoring session (see
locations/quests/max-tutoring.twee). Once active, though, his weekly
collection still finds her out wandering town. See
locations/quests/ekon.twee for the stage flow. */
/* James route N3D6 — meet Sophia in town after 3-day wait (see $sophia). */
<<if $sophia.ready and not $sophia.met>>
<<goto "Town Sophia Encounter">>
<<elseif $ekon.stage is 2 and setup.isWeekend()>>
<<goto "Ekon Payment Day">>
<<elseif not $quests.max and random(1, 3) is 1>>
<<set $quests.max to true>>
<<goto "Town Explore Rescue">>
<<elseif $world.time is "Afternoon">>
<p>Daisy wanders without any real destination, drifting past shop windows and the small crowds of an ordinary afternoon.</p>
<<elseif $world.time is "Evening">>
<p>The sun hangs low, casting a golden light over the street. Daisy keeps walking with no particular place in mind.</p>
<<else>>
<p>Streetlights flicker on one by one as Daisy strolls the last of the evening away. The town feels different at night — quieter, a little more alive at the same time.</p>
<</if>>
<<if $world.time is "Night">>
<p class="scene-meta">It's gotten late. Time to head home.</p>
[[Head home|House Map]]
<<else>>
[[Keep exploring|Town Explore]]
[[Back to the map|Town Map]]
<</if>>
/* ── Page 1: the rescue ────────────────────────────────── */<<set $world.location to "Town">>
<<= setup.locBannerHtml("town")>>
<p>Down a side street, Daisy spots a group of men surrounding someone on the ground. He is curled up with his arms over his head.</p>
<img src="Images/Day 4/d1519.gif" alt="">
<<speech "Daisy">>Hey! What do you think you're doing?!<</speech>>
<p>She shouts as she hurries toward them. They look up to see who is interrupting.</p>
<<speech "Aaron">>The hell? What's your problem?<</speech>>
<<speech "Daisy">>My problem? Why are you beating him up?<</speech>>
<p>She tries to push past them to reach the guy on the ground, but one of Aaron's friends steps into her path.</p>
<<speech "Kyle">>And what exactly do you think you're doing?<</speech>>
<<speech "Aaron">>Yeah — we're not done here. Why don't you stand there and look pretty while we finish up?<</speech>>
<p>The group laughs at that and turns back toward their target, ready to keep going.</p>
<<speech "Daisy">>I have to do something.<</speech>>
<p>She spots a pipe in the gutter and grabs it. Keeping quiet, she moves behind Aaron. Her hands shake as she raises the pipe, shuts her eyes, and swings.</p>
<<speech "Daisy">>AHHH!<</speech>>
<p>The pipe cracks across the back of Aaron's head. He goes down.</p>
<<speech "Aaron">>Ahhh, fuck!<</speech>>
<<speech "Kyle">>What the hell did you just—<</speech>>
<p>Daisy plants her feet and swings the pipe in a wide arc to keep the rest of them at bay.</p>
<<speech "Daisy">>Don't you dare come any closer! I swear I'll use this again!<</speech>>
<<speech "Kyle">>Whoa, easy! We're leaving!<</speech>>
<p>They haul Aaron back to his feet and drag him off.</p>
<<speech "Aaron">>Crazy bitch!<</speech>>
[[Next|Town Explore Aftermath]]
/* ── Page 2: meeting Max ──────────────────────────────── */<<set $world.location to "Town">>
<p>Daisy lets the pipe drop and stands there catching her breath. The guy she saved is sitting up now, staring at her like she just fell out of the sky.</p>
<<speech "Daisy">>Are you okay?<</speech>>
<<speech "Max">>Yeah — I think so. What did you just do to him?<</speech>>
<<speech "Daisy">>Nothing he didn't have coming. Why were they on you like that?<</speech>>
<<speech "Max">>They're just bullies. It doesn't take much to set them off.<</speech>>
<<speech "Daisy">>Why not report it to a teacher?<</speech>>
<<speech "Max">>Aaron's father is the college principal, so reporting it won't get me anywhere.<</speech>>
<<speech "Daisy">>That's rough. I'm Daisy — I live on 1st Street.<</speech>>
<<speech "Max">>Max. I'm on 2nd Street, just around the corner.<</speech>>
[[Next|Town Explore Tutoring]]
/* ── Page 3: the tutoring hook ─────────────────────────── */<<set $world.location to "Town">>
<<speech "Max">>So what do you do? You don't look old enough to already be working.<</speech>>
<<speech "Daisy">>I'm a software engineer, actually.<</speech>>
<<speech "Max">>Really? You must be good at math, then. I don't suppose you'd tutor me? Just thirty minutes a day.<</speech>>
<<speech "Daisy">>I don't really have the time to spare...<</speech>>
<<speech "Max">>Please? I'll even pay — ten dollars a session.<</speech>>
<<speech "Daisy">>Keep your money. I'll help you for free.<</speech>>
<<speech "Max">>Thank you, really. I'll see you tomorrow, then?<</speech>>
<p>Max heads home. Daisy watches him leave, still shaky after what just happened.</p>
<<speech "Daisy">>Poor guy. I should look out for him.<</speech>>
<<set $ekon.stage to 1>>
<<toast "New on Town Map: Max's House" "good">>
<<if $world.time is "Night">>
<p class="scene-meta">It's gotten late. Time to head home.</p>
[[Head home|House Map]]
<<else>>
[[Keep exploring|Town Explore]]
[[Back to the map|Town Map]]
<</if>><<set $world.location to "Town - Gym">>
<<= setup.locBannerHtml("gym")>>
<<if not $town.gymUnlocked>>
<p>Daisy has no reason to use the gym yet, so she stays outside.</p>
[[Leave|Town Map]]
<<elseif not $town.gymMembership>>
<p>A front desk clerk looks up as Daisy steps inside. Membership cards flash at the turnstile; without one, she isn't getting past the rope.</p>
<<if $player.money gte setup.GYM_MEMBERSHIP_COST>>
<<speech "Daisy">>I'd like to sign up. Tysone said he could get me the trainer rate.<</speech>>
[[Buy membership ($40)|Gym Buy Membership]]
<<else>>
<<speech "Daisy">>Forty dollars… I need to come back with the money.<</speech>>
<</if>>
[[Leave|Town Map]]
<<elseif not $town.gymClothesBought>>
<p>Through the glass, Daisy sees racks of weights and people running on treadmills. She isn't dressed for a workout.</p>
<<speech "Daisy">>I need to put on my sports clothes first.<</speech>>
[[Leave|Town Map]]
<<elseif $wardrobe.current isnot "gym">>
<p>She's still in the wrong outfit for this — the sports dress is waiting back home.</p>
<<speech "Daisy">>Should've changed before I came all this way.<</speech>>
[[Leave|Town Map]]
<<elseif $today.gymDone>>
<p>She's already worked out today, and she can still feel it in her muscles.</p>
[[Leave|Town Map]]
/* Fitness 25 story beat — GD10 (one-shot). */
<<elseif $town.gymIntroDone and $gym.level gte 25 and not $town.gymKissDone>>
<p>Tysone is already on the floor when she walks in, waiting like he knew she'd come.</p>
<<speech "Tysone">>Hey, Daisy. Ready to work?<</speech>>
<div class="loc-grid">
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Train with Tysone</span><span class="loc-sub">Session with him</span></span>' "Gym Kiss Session">><</link>>
</div>
[[Leave|Town Map]]
<<else>>
<<set _glvl to Math.clamp(Number($gym.level) || 1, 1, setup.GYM_MAX_LEVEL)>>
<<set _grank to setup.gymRankName(_glvl)>>
<p>Weights fill the racks, treadmills line the far wall, and mirrors surround the room. The gym smells of chalk and sweat.</p>
<p><strong>Fitness <<= _glvl>></strong> — <<= _grank>><<if _glvl lt setup.GYM_MAX_LEVEL>> · each session +2 Fitness<<else>> · max for now<</if>></p>
<div class="loc-grid">
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Cardio</span><span class="loc-sub">+2 Fitness</span></span>' "Gym Workout Cardio">><</link>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Strength</span><span class="loc-sub">+2 Fitness</span></span>' "Gym Workout Strength">><</link>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Core</span><span class="loc-sub">+2 Fitness</span></span>' "Gym Workout Core">><</link>>
</div>
[[Leave|Town Map]]
<</if>><<if $player.money lt setup.GYM_MEMBERSHIP_COST>>
<<goto "Town Gym">>
<</if>>
<<set $player.money -= setup.GYM_MEMBERSHIP_COST>>
<<set $town.gymMembership to true>>
<<set $town.gymUnlocked to true>>
<div class="fading-text fade-animation">Money −$<<= setup.GYM_MEMBERSHIP_COST>></div>
<<toast "Gym membership bought" "good">>
<p>The clerk prints her membership card. When she scans it, the turnstile beeps and its light turns green.</p>
<<speech "Daisy">>Alright. Let's see what this place can do.<</speech>>
[[Continue|Town Gym]]
/* ═══════════════════════════════════════════
GD9 → G2D9 — first visit with Tysone (from Park Gym Offer / PD9).
═══════════════════════════════════════════ */<<set $world.location to "Town - Gym">>
<<if $town.gymIntroDone>>
<<goto "Town Gym">>
<</if>>
<<if $player.money lt setup.GYM_MEMBERSHIP_COST and not $town.gymMembership>>
<<goto "Park Gym Offer">>
<</if>>
/* Pay membership once on the way in (PD9 agreement). */
<<if not $town.gymMembership>>
<<set $player.money -= setup.GYM_MEMBERSHIP_COST>>
<<set $town.gymMembership to true>>
<div class="fading-text fade-animation">Money −$<<= setup.GYM_MEMBERSHIP_COST>></div>
<<toast "Gym membership — $40/month rate" "good">>
<</if>>
<<set $town.gymUnlocked to true>>
<<set $today.parkJogged to true>>
<img src="Images/Day 9/d97.jpg" alt="">
<p>Daisy follows Tysone into the cool gym, where the air smells of metal and rubber. Weights thud and machines hum around her. Everyone seems to know their routine, while she is still trying to work out where to start.</p>
<<speech "Tysone">>So? You like it?<</speech>>
<<speech "Daisy">>Yeah… it's great. Bigger than I imagined.<</speech>>
<<speech "Tysone">>Locker room's that way. Change into your gym clothes and meet me on the floor — then we start.<</speech>>
<<speech "Daisy">>Okay.<</speech>>
[[Changing room|Gym Intro Change]]<<set $world.location to "Town - Gym">>
<<set $wardrobe.current to "gym">>
<<set $today.dressed to true>>
<img src="Images/Day 9/d98.gif" alt="">
<p>Daisy changes quickly in the locker room, sports dress snug, hair tied back. When she steps back onto the floor, Tysone is already waiting by a mat.</p>
<<speech "Daisy">>I'm ready.<</speech>>
[[Start training|Gym Intro Session]]<<set $world.location to "Town - Gym">>
<<set _gres to setup.fitnessLevelUp(1)>>
<<set $today.gymDone to true>>
<<run setup.advanceTime(1)>>
<<speech "Tysone">>We'll work your whole body today. Nothing fancy; just focus on getting each move right.<</speech>>
<<speech "Daisy">>Sounds good.<</speech>>
<p>Tysone walks her through each movement with the calm patience of someone who does this for a living — where to put her feet, how to brace, when to breathe.</p>
<img src="Images/Day 9/d99.gif" alt="">
<p>An intense hour later, Daisy's arms shake and her shirt sticks to her back. She changes, collects her bag, and leaves the gym with her new membership card in her pocket and a real burn in her muscles.</p>
<<set $town.gymIntroDone to true>>
<<set $town.gymUnlocked to true>>
<<set $town.gymMembership to true>>
<<if _gres.leveled>>
<<toast "Fitness +" + _gres.gained + " — Level " + _gres.level + " (" + setup.gymRankName(_gres.level) + ")">>
<<else>>
<<toast "Solid session — Fitness max">>
<</if>>
<<toast "New on Town Map: Gym" "good">>
[[Leave|Town Map]]
/* ═══════════════════════════════════════════
REPEATABLE WORKOUTS — each grants +2 Fitness.
═══════════════════════════════════════════ */<<set $world.location to "Town - Gym">>
<<if not $town.gymMembership or $wardrobe.current isnot "gym" or $today.gymDone>>
<<goto "Town Gym">>
<</if>>
/* Don't skip the Fit-25 story beat with a generic workout. */
<<if $town.gymIntroDone and $gym.level gte 25 and not $town.gymKissDone>>
<<goto "Gym Kiss Session">>
<</if>>
<<set _gres to setup.fitnessLevelUp(2)>>
<<set $today.gymDone to true>>
<<run setup.advanceTime(1)>>
<img src="Images/Day 5/sports1.jpg" alt="">
<p>Daisy settles onto a treadmill and pushes through a hard run, breath finding its rhythm somewhere around the second mile. The gym machines force a pace the park never quite demanded.</p>
<<speech "Daisy">>Okay. This is actually working me harder.<</speech>>
<<if _gres.leveled>>
<<toast "Fitness +" + _gres.gained + " — Level " + _gres.level + " (" + setup.gymRankName(_gres.level) + ")">>
<<else>>
<<toast "Solid session — Fitness max">>
<</if>>
[[Leave|Town Map]]<<set $world.location to "Town - Gym">>
<<if not $town.gymMembership or $wardrobe.current isnot "gym" or $today.gymDone>>
<<goto "Town Gym">>
<</if>>
<<if $town.gymIntroDone and $gym.level gte 25 and not $town.gymKissDone>>
<<goto "Gym Kiss Session">>
<</if>>
<<set _gres to setup.fitnessLevelUp(2)>>
<<set $today.gymDone to true>>
<<run setup.advanceTime(1)>>
<img src="Images/Day 5/sports2.jpg" alt="">
<p>Daisy lifts weights under the bright lights, taking care with each movement. By the last rep, her arms shake from the effort.</p>
<<speech "Daisy">>Definitely going to feel that tomorrow.<</speech>>
<<if _gres.leveled>>
<<toast "Fitness +" + _gres.gained + " — Level " + _gres.level + " (" + setup.gymRankName(_gres.level) + ")">>
<<else>>
<<toast "Solid session — Fitness max">>
<</if>>
[[Leave|Town Map]]<<set $world.location to "Town - Gym">>
<<if not $town.gymMembership or $wardrobe.current isnot "gym" or $today.gymDone>>
<<goto "Town Gym">>
<</if>>
<<if $town.gymIntroDone and $gym.level gte 25 and not $town.gymKissDone>>
<<goto "Gym Kiss Session">>
<</if>>
<<set _gres to setup.fitnessLevelUp(2)>>
<<set $today.gymDone to true>>
<<run setup.advanceTime(1)>>
<img src="Images/Day 5/sports3.jpg" alt="">
<p>Daisy drops onto a mat for core work, focused and out of breath by the end. Sweat drips onto the floor between her hands.</p>
<<speech "Daisy">>That one's going to burn tomorrow.<</speech>>
<<if _gres.leveled>>
<<toast "Fitness +" + _gres.gained + " — Level " + _gres.level + " (" + setup.gymRankName(_gres.level) + ")">>
<<else>>
<<toast "Solid session — Fitness max">>
<</if>>
[[Leave|Town Map]]
/* ═══════════════════════════════════════════
GD10 → G2D10 → G3D10 — Fitness 25 session with Tysone.
Original auto-kiss becomes a player choice (kiss / resist).
═══════════════════════════════════════════ */<<set $world.location to "Town - Gym">>
<<if not $town.gymIntroDone or $gym.level lt 25 or $town.gymKissDone>>
<<goto "Town Gym">>
<</if>>
<<if $wardrobe.current isnot "gym" or not $town.gymMembership>>
<<goto "Town Gym">>
<</if>>
<<if $today.gymDone>>
<<goto "Town Gym">>
<</if>>
<p>Daisy arrives for her workout and finds Tysone already waiting near the mats, towel over one shoulder, patient as ever.</p>
<<speech "Tysone">>Hey, Daisy. Ready to exercise?<</speech>>
<<speech "Daisy">>Yeah.<</speech>>
<<speech "Tysone">>Good. Use the locker room if you need to change, then we'll get started.<</speech>>
<<if $wardrobe.current is "gym">>
<<speech "Daisy">>I'm already changed. Let's go.<</speech>>
[[Start the session|Gym Kiss Workout]]
<<else>>
[[Locker room|Gym Kiss Locker]]
<</if>><<set $world.location to "Town - Gym">>
<<set $wardrobe.current to "gym">>
<<set $today.dressed to true>>
<p>Daisy heads to the locker room and changes into her sports dress, gearing up for the session.</p>
<img src="Images/Day 10/d107.gif" alt="">
<<speech "Daisy">>I'm all set.<</speech>>
[[Next|Gym Kiss Workout]]<<set $world.location to "Town - Gym">>
<<set _gres to setup.fitnessLevelUp(2)>>
<<set $today.gymDone to true>>
<<run setup.advanceTime(1)>>
/* Toast here — temporary vars may not survive later passages. */
<<if _gres.leveled>>
<<toast "Fitness +" + _gres.gained + " — Level " + _gres.level + " (" + setup.gymRankName(_gres.level) + ")">>
<<else>>
<<toast "Solid session — Fitness max">>
<</if>>
<p>Daisy starts on the bike, Tysone standing close enough to correct her form with a hand gesture and a low voice.</p>
<img src="Images/Day 10/d108.gif" alt="">
<<speech "Tysone">>Keep your back straight.<</speech>>
<<speech "Daisy">>Okay.<</speech>>
<p>After cycling, he guides her through slow stretches to help her loosen up and cool down.</p>
<img src="Images/Day 10/d109.gif" alt="">
<p>As she holds a stretch, her eyes drift down to the bulge in Tysone's shorts. She knows she shouldn't stare, but the sight excites her more than she wants to admit.</p>
<img src="Images/Day 10/d1010.gif" alt="">
<<speech "Daisy">>(God… he looks huge even under the fabric.)<</speech>>
[[Continue|Gym Kiss Water]]<<set $world.location to "Town - Gym">>
<p>She moves to the treadmill for cardio. After five minutes, she stops for water. She grabs a bottle from the rack and tips it too quickly, spilling water down her sports dress.</p>
<img src="Images/Day 10/d1012.gif" alt="">
<<speech "Daisy">>Oh, shit—<</speech>>
<<speech "Tysone">>Hold on. I'll get a towel.<</speech>>
<p>He comes back and starts blotting the wet fabric for her — close, careful, his hands working lower than a stranger's should. His face is so close that she could kiss him. She can hear her pulse pounding in her ears.</p>
<p>Daisy pauses, still able to decide what happens next.</p>
<div id="can">
<<link "Kiss him">><<replace "#can">>
<<set $town.gymKissChoice to "kiss">>
<<stat "player.corruption" 1>>
<<stat "player.loveJames" -1>>
<p>Without thinking, she leans in and kisses him, giving in to the urge before she can stop herself.</p>
<img src="Images/Day 10/d1011.gif" alt="">
<p>The kiss feels intense and unfamiliar. Then she remembers who she's kissing, and guilt cuts through the excitement. She's married, yet here she is at the gym, kissing her trainer.</p>
<<speech "Daisy">>(What did I just do—)<</speech>>
<p>She breaks away and bolts for the locker room, face burning, legs unsteady for reasons that have nothing to do with the workout.</p>
[[Next|Gym Kiss Aftermath]]
<</replace>><</link>>
<<link "Resist — pull away">><<replace "#can">>
<<set $town.gymKissChoice to "resist">>
<<stat "player.loveJames" 1>>
<p>Daisy catches his wrist and steps back before anything else happens. Her cheeks are hot and her breath is short, but she keeps her hands steady.</p>
<<speech "Daisy">>I— I've got it. Thanks. Really.<</speech>>
<<speech "Tysone">>…Yeah. Sorry. Here — you take the towel.<</speech>>
<p>He hands her the towel and takes a step back. She dries herself with her eyes on the floor, thinking of James and how close she came to doing something she'd regret.</p>
<<speech "Daisy">>(No. Not this. Not him.)<</speech>>
<p>She forces a thin smile, finishes the session with careful distance, and leaves for the locker room before anything else can happen.</p>
[[Next|Gym Kiss Aftermath]]
<</replace>><</link>>
</div><<set $world.location to "Town - Gym">>
<<set $town.gymKissDone to true>>
<<if $town.gymKissChoice is "kiss">>
<<speech "Daisy">>Did I really just kiss him? Why couldn't I control myself? What's wrong with me?<</speech>>
<<speech "Daisy">>I don't even know what just happened. I can't face him — I need to leave.<</speech>>
<<else>>
<<speech "Daisy">>That was too close. I almost… no. James is waiting at home. I'm not that person.<</speech>>
<<speech "Daisy">>I should go before I change my mind.<</speech>>
<</if>>
<p class="scene-meta">This route ends here for this version.</p>
[[Leave|Town Map]]<<set $world.location to "Town - Mall">>
<<= setup.locBannerHtml("mall")>>
<p>The mall is bright and busy, with shops on both sides. Music plays above the hum of shoppers.</p>
<div class="loc-grid">
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Clothing store</span><span class="loc-sub"><<if $town.storeDone>>Already visited<<else>>Buy an office outfit<</if>></span></span>' "Clothing Store">><</link>>
<<if $office.blackmailed and $office.messageRead and not $office.uniformBought>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Private Store</span><span class="loc-sub">The uniform Jayden wants</span></span>' "Office Uniform Store">><</link>>
<</if>>
/* Christine's party gift — surfaces after GD8 (partyGiftAsked). */
<<if $office.partyGiftAsked and not $office.partyGiftBought and not $office.partyDone>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Adult Shop</span><span class="loc-sub">Gift for Christine</span></span>' "Party Adult Shop">><</link>>
<</if>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Town</span><span class="loc-sub">Head back</span></span>' "Town Map">><</link>>
</div>
/* ═══════════════════════════════════════════
ADULT SHOP — main-quest gift chain (original AD8 → ND8 → Booth →
YesD8/NoD8). Unlocks after Sunday gift-ask (Party Gift Ask / GD8).
Total checkout $65 (monster dragon + bra); optional free dildo promo.
═══════════════════════════════════════════ */<<set $world.location to "Town - Mall - Adult Shop">>
<<if not $office.partyGiftAsked>>
<p>The shop is dimly lit, and she has no reason to go inside.</p>
[[Leave|Mall]]
<<elseif $office.partyGiftBought>>
<img src="Images/Mall/adult store/sexshop.jpeg" alt="">
<p>She already has Christine's gift, so there's no reason to stay.</p>
[[Leave|Mall]]
<<else>>
<<goto "Party Adult Shop Enter">>
<</if>>
/* AD8 — enter, ask for monster dragon, photo to Christine */<<set $world.location to "Town - Mall - Adult Shop">>
<img src="Images/Mall/adult store/sexshop.jpeg" alt="">
<<speech "Daisy">>(I never imagined I would end up in a place like this.)<</speech>>
<img src="Images/Mall/adult store/pp1.jpeg" alt="">
<<speech "Owner">>Yes ma'am — how may I help you?<</speech>>
<<speech "Daisy">>I want a… monster dragon.<</speech>>
<<speech "Owner">>Are you sure, ma'am?<</speech>>
<<speech "Daisy">>Why? Is there something wrong with it?<</speech>>
<<speech "Owner">>No, no — nothing wrong. Just… very few girls buy it. I hope you can handle its size.<</speech>>
<<speech "Daisy">>Hm. (What is he talking about?)<</speech>>
<p>The owner steps into the back and returns with a huge toy, setting it on the counter.</p>
<img src="Images/Day 8/d84.jpg" alt="">
<<speech "Daisy">>What the hell is this?<</speech>>
<<speech "Owner">>It's what you asked for, ma'am. Monster dragon.<</speech>>
<p>Daisy snaps a photo and sends it to Christine — <em>this one?</em> Christine replies almost immediately: <strong>yes</strong>.</p>
<<speech "Daisy">>(Her tastes are something else.) Okay, please wrap it up.<</speech>>
[[Continue|Party Adult Shop Bras]]
/* ND8 — notice bras, directed to the booth */<<set $world.location to "Town - Mall - Adult Shop">>
<p>While she waits, Daisy looks through the bras on display. There are all sorts of shapes and colors, and she realizes she could use a new one.</p>
<<speech "Daisy">>I want a bra as well.<</speech>>
<<speech "Owner">>Of course, ma'am. There's a booth on the right — browse the selection and try them on there.<</speech>>
<<speech "Daisy">>Okay.<</speech>>
[[Fitting booth|Party Adult Shop Booth]]
/* Booth — gloryhole while trying on a bra (original Booth) */<<set $world.location to "Town - Mall - Adult Shop - Booth">>
<img src="Images/Mall/adult store/bra.gif" alt="">
<p>As Daisy tries on a bra, something pushes through a hole in the wall of the changing booth.</p>
<img src="Images/Mall/adult store/booth1.webp" alt="">
<<speech "Daisy">>Eww — is that a real dick? Should I touch it?<</speech>>
<<if $player.corruption gte 12>>
[[Yes — touch it|Party Adult Shop Booth Yes]]
<<else>>
<p class="scene-meta" style="color:#c45c6a;">Need more Corruption to choose yes.</p>
<</if>>
[[No — leave it alone|Party Adult Shop Checkout]]<<set $world.location to "Town - Mall - Adult Shop - Booth">>
<img src="Images/Mall/adult store/booth2.webp" alt="">
<<stat "player.corruption" 1>>
<<stat "player.loveJames" -1>>
<<speech "Daisy">>(Why do I keep forgetting I'm married?) I should probably go.<</speech>>
[[Leave the booth|Party Adult Shop Checkout]]
/* NoD8 — pick bra, promo free dildo if total over $50; total $65 */<<set $world.location to "Town - Mall - Adult Shop">>
<<speech "Daisy">>I want this one.<</speech>>
<<speech "Owner">>Today we have a special — spend over $50 and you get a free dildo. That bra is $45. With the dragon, your total is $65.<</speech>>
<<speech "Daisy">>(Should I take the free toy too?)<</speech>>
<<if $player.money gte 65>>
[[Yes — take the free dildo|Party Adult Shop Take Dildo]]
[[No — just the gift and bra|Party Adult Shop No Dildo]]
<<else>>
<p class="scene-meta">She needs $65 for the dragon and bra.</p>
[[Leave without paying|Mall]]
<</if>><<if $player.money lt 65 or $office.partyGiftBought>>
<<goto "Party Adult Shop Checkout">>
<</if>>
<img src="Images/Mall/adult store/dildo.jpeg" alt="">
<p>Daisy ends up with Christine's gift, a new bra — and a free toy she absolutely did not plan on owning.</p>
<div class="fading-text fade-animation">Money −$65</div>
<<set $player.money -= 65>>
<<set $office.partyGiftBought to true>>
<<set $office.adultShopDildo to true>>
<<toast "Gift bought — party tonight (Sunday Evening)">>
<p class="scene-meta">Sunday Evening: get ready in the Bedroom and leave for the party.</p>
[[Leave|Mall]]<<if $player.money lt 65 or $office.partyGiftBought>>
<<goto "Party Adult Shop Checkout">>
<</if>>
<<speech "Daisy">>I don't want that thing.<</speech>>
<<speech "Owner">>As you wish, ma'am. Total is $65.<</speech>>
<<speech "Daisy">>Okay.<</speech>>
<div class="fading-text fade-animation">Money −$65</div>
<<set $player.money -= 65>>
<<set $office.partyGiftBought to true>>
<<toast "Gift bought — party tonight (Sunday Evening)">>
<p>She pays, takes the bag with Christine's gift and the bra, and gets out before she can overthink any of it.</p>
<p class="scene-meta">Sunday Evening: get ready in the Bedroom and leave for the party.</p>
[[Leave|Mall]]
/* ═══════════════════════════════════════════
OFFICE UNIFORM — only surfaces once Jayden's text (Messages app) has
been read, so the demand is always delivered story-first, shop-second.
See locations/town/office.twee for $office state.
═══════════════════════════════════════════ */<<set $world.location to "Town - Mall - Private Store">>
<p>A black door stands at the end of a quiet hall, without a sign or window. Inside, thin blouses and tiny skirts hang on a rack. None looks fit for an office.</p>
<<speech "Daisy">>...This is what he wants me to wear to work?<</speech>>
<p>She picks the least revealing thing on the rack, which still isn't saying much, and pays before she can talk herself out of it.</p>
<img src="Images/Mall/hot_office_dress.jpg" alt="">
[[Buy it ($50)|Office Uniform Bought]]<p>Daisy folds the outfit into her bag, ashamed that she let him make her buy it.</p>
<div class="fading-text fade-animation">Money −$50</div>
<<set $player.money -= 50>>
<<set $office.uniformBought to true>>
/* OD5 first-day-in-dress only fires on a later calendar day (see
office.twee). Store the buy day so same-day office visits stay normal. */
<<set $office.uniformBoughtDay to $world.day>>
[[Leave|Mall]]
/* ═══════════════════════════════════════════
CLOTHING STORE
═══════════════════════════════════════════ */<<set $world.location to "Town - Mall - Clothing Store">>
<<= setup.locBannerHtml("store")>>
<<if not $town.storeDone>>
<<speech "Daisy">>This shop might have the clothes I need.<</speech>>
<<speech "Shopkeeper">>Hi! How can I help you today, Miss…?<</speech>>
<<speech "Daisy">>My husband and I just moved here. Could you help me find some clothes for work?<</speech>>
<<speech "Shopkeeper">>Oh! I've got just the thing for you!<</speech>>
[[See what he has in mind|Clothing Store Offer]]
<<elseif $town.parkDone and not $town.gymClothesBought>>
<p>Soft music plays as shoppers browse racks of colorful clothes. Daisy spots some sportswear and thinks of the jogger she saw in the park.</p>
<img src="Images/Day 5/sports1.jpg" alt="">
<<if $player.money gte 40>>
<<speech "Daisy">>If I'm gonna start jogging in the park, I'll need a proper sports dress.<</speech>>
[[Buy sports dress ($40)|Clothing Store Gym Buy]]
<<else>>
<<speech "Daisy">>I want that sports dress, but I don't have $40 on me yet.<</speech>>
<</if>>
[[Leave|Mall]]
<<else>>
<p>Soft music plays as shoppers browse the racks of colorful clothes.</p>
[[Leave|Mall]]
<</if>><p>Daisy picks a fitted sports dress that lets her move freely. It feels quite different from her work clothes, and ideal for running in the park.</p>
<img src="Images/Day 5/sports2.jpg" alt="">
<<speech "Shopkeeper">>Getting into fitness? This outfit should be comfortable for running.<</speech>>
<<speech "Daisy">>That's the idea — park first.<</speech>>
<div class="fading-text fade-animation">Money −$40</div>
<<set $player.money -= 40>>
<<set $town.gymClothesBought to true>>
<<toast "Wardrobe: sports dress" "good">>
<<toast "Park: jogging unlocked" "good">>
[[Leave|Mall]]<p>The shopkeeper brings out the office uniform — a white blouse, black skirt, and jacket that show far more than Daisy is used to wearing to work.</p>
<img src="Images/Day 1/D117.jpeg" alt="">
<<speech "Shopkeeper">>Here. This is what the offices in this town expect.<</speech>>
<<speech "Daisy">>Are you sure? This doesn't look very… professional.<</speech>>
<<speech "Shopkeeper">>Trust me, it's perfectly fine for the office. If it looks a little too revealing, that's only because it looks so good on a pretty woman like you.<</speech>>
<p>Daisy blushes. She needs an outfit for Banana, and this is what he's offered, so she agrees to buy it.</p>
<<speech "Shopkeeper">>It's $70.<</speech>>
<<speech "Daisy">>Alright. I'll take it.<</speech>>
[[Buy it ($70)|Clothing Store Buy]]<img src="Images/Mall/shop.jpg" alt="">
<p>The owner hands Daisy her clothes with a smile, eyes lingering as she walks away.</p>
<<speech "Shopkeeper">>Thank you, and come again!<</speech>>
<<speech "Daisy">>I will! Thanks!<</speech>>
<div class="fading-text fade-animation">Money −$70</div>
<<set $player.money -= 70>>
<<set $town.storeDone to true>>
<<toast "Wardrobe: office outfit" "good">>
<<toast "New on Town Map: Office" "good">>
<p class="scene-meta">She needs to put it on at the Bedroom wardrobe before going to Banana. They won't let her in without it.</p>
[[Leave|Mall]]<<set $world.location to "Town - Office">>
<<if setup.isWeekend()>>
<<= setup.locBannerHtml("office")>>
<p>The office doors are locked, and the lights are off inside. A small sign hangs in the window: <em>Closed on weekends.</em></p>
[[Leave|Town Map]]
<<elseif not setup.officeDressOk()>>
<<= setup.locBannerHtml("office")>>
<img src="Images/Office/office.jpg" alt="">
<<if $office.blackmailed and not $office.uniformBought>>
<p class="scene-meta">Jayden's still waiting on that uniform. Check the Mall.</p>
<<elseif $office.blackmailed>>
<p class="scene-meta">She can't show up to work like this — Jayden expects her in the uniform. Head home and change first.</p>
<<else>>
<p class="scene-meta">She can't walk into Banana like this. Change into her office outfit at the Bedroom wardrobe first.</p>
<</if>>
[[Leave|Town Map]]
<<elseif $office.stage is 0>>
<<goto "Office First Day">>
<<elseif $office.stage is 2>>
<<goto "Office Coffee">>
/* First full day in Jayden's dress — original OD5. Requires: bought the
Mall uniform on a prior day, wearing it now, one-shot not yet done. */
<<elseif $office.blackmailed and $office.uniformBought and not $office.uniformDayDone and $wardrobe.current is "uniform" and $world.day gt $office.uniformBoughtDay>>
<<goto "Office Uniform Day">>
/* Desk2 client task — 3 sleeps after OD5, weekday, wearing uniform. */
<<elseif $office.clientTaskReady and not $office.clientTaskDone and $office.blackmailed and $wardrobe.current is "uniform">>
<<goto "Office Desk Call">>
/* After Christine's party — OD9 + boss room. Morning only, weekday. */
<<elseif $office.partyDone and not $office.bossRoomDone>>
<<if $world.time is "Morning">>
<<if $office.blackmailed and $wardrobe.current isnot "uniform">>
<<= setup.locBannerHtml("office")>>
<p class="scene-meta">Jayden expects the uniform. Change at home first, then come back this morning.</p>
[[Leave|Town Map]]
<<else>>
<<goto "Office Post Party">>
<</if>>
<<else>>
<<= setup.locBannerHtml("office")>>
<img src="Images/Office/office.jpg" alt="">
<p class="scene-meta">Jayden called her in — Notes say come in the <strong>Morning</strong>.</p>
[[Leave|Town Map]]
<</if>>
/* Catch-up: boss room done under an older build before SD9 was wired. */
<<elseif $office.bossRoomDone and not $office.sexDeptDone>>
<<if $office.blackmailed and $wardrobe.current isnot "uniform">>
<<= setup.locBannerHtml("office")>>
<p class="scene-meta">She needs to put on her uniform before joining Christine in the sex department.</p>
[[Leave|Town Map]]
<<else>>
<<= setup.locBannerHtml("office")>>
<p>Christine catches her near the elevators.</p>
<<speech "Christine">>There you are. Come to the sex department now. Jayden told you, remember?<</speech>>
[[Follow Christine|Office Sex Department]]
[[Leave|Town Map]]
<</if>>
/* Second study night — original "Daisy's life": quiet workday then house. */
<<elseif $office.studyVisit2Ready and not $office.studyVisit2Done and ($quests.studyDavid or $quests.studyChristine)>>
<<if $office.blackmailed and $wardrobe.current isnot "uniform">>
<<= setup.locBannerHtml("office")>>
<p class="scene-meta">She needs her uniform for work before heading to the next study night.</p>
[[Leave|Town Map]]
<<else>>
<<goto "Study Daisy Life">>
<</if>>
/* OD12 — measure job after 3-day wait (post Day 11 T&D). */
<<elseif $office.od12Ready and not $office.od12Done>>
<<if $office.blackmailed and $wardrobe.current isnot "uniform">>
<<= setup.locBannerHtml("office")>>
<p class="scene-meta">She needs to change into her uniform. Christine is waiting in the sex department.</p>
[[Leave|Town Map]]
<<else>>
<<goto "Office OD12">>
<</if>>
/* OD15 — exam day; needs OD12 + all house study T&D (studyDay11Done). */
<<elseif $office.od12Done and $office.studyDay11Done and not $office.od15Done>>
<<if $office.blackmailed and $wardrobe.current isnot "uniform">>
<<= setup.locBannerHtml("office")>>
<p class="scene-meta">She needs her uniform for the exam at the office.</p>
[[Leave|Town Map]]
<<else>>
<<goto "Office OD15">>
<</if>>
<<elseif $sophia.hd10TalkDone and not $sophia.christineOfficeTalkDone and (not $office.blackmailed or $wardrobe.current is "uniform")>>
<<goto "Office Christine Sophia">>
<<elseif $sophia.christineClubTalkReady and not $sophia.christineClubTalkDone and (not $office.blackmailed or $wardrobe.current is "uniform")>>
<<goto "Office Christine Club">>
<<elseif $office.od12Done and not $office.studyDay11Done and not $office.od15Done>>
<<= setup.locBannerHtml("office")>>
<img src="Images/Office/office.jpg" alt="">
<p class="scene-meta">Main quest is waiting — finish the <strong>house study</strong> truth-or-dare nights first (Notes).</p>
<<if $today.officeShift lt 2>>
[[Work a shift ($60)|Office Shift]]
<</if>>
<<if $today.officeShift gte 1>>
[[Leave|Office Clock Out]]
<<else>>
[[Leave|Town Map]]
<</if>>
<<else>>
<<= setup.locBannerHtml("office")>>
<img src="Images/Office/office.jpg" alt="">
<<if $office.blackmailed and not $office.uniformBought>>
<p class="scene-meta">Jayden's still waiting on that uniform. Check the Mall.</p>
<<elseif $office.blackmailed and $wardrobe.current isnot "uniform">>
<p class="scene-meta">She can't show up to work like this — Jayden expects her in the uniform he made her buy. Head home and change first.</p>
<<elseif $office.blackmailed and $office.uniformBought and not $office.uniformDayDone and $world.day lte $office.uniformBoughtDay>>
<p class="scene-meta">She has the dress now. She needs to wear it to the office tomorrow and show Jayden, then keep it on for the day.</p>
<<elseif $office.blackmailed and $office.uniformDayDone and $office.clientWaitSleeps gt 0>>
<p class="scene-meta">Things have been quiet at Banana. Something should come up in a few more days.</p>
<<elseif $office.blackmailed and $office.clientTaskReady and not $office.clientTaskDone and $wardrobe.current isnot "uniform">>
<p class="scene-meta">Jayden wants her in the uniform if she's coming in. Change at home first.</p>
<<elseif $office.blackmailed and $office.uniformDayDone>>
<<speech "Jayden">>Good girl. That's much better.<</speech>>
<p>Jayden's eyes linger a beat too long as she passes his office.</p>
<<elseif $office.blackmailed>>
<<speech "Jayden">>Good girl. That's much better.<</speech>>
<p>Jayden's eyes linger a beat too long as she passes his office.</p>
<<elseif $office.stage is 1>>
<<speech "Christine">>Don't forget we're going shopping tonight. I'll come and find you after work.<</speech>>
<p class="scene-meta">Meet Christine on the Town Map in the Evening, as they agreed this morning.</p>
<<else>>
<<speech "Christine">>Surviving another day of Jayden's moods?<</speech>>
<<speech "Daisy">>Barely.<</speech>>
<</if>>
<<if $office.blackmailed and $wardrobe.current isnot "uniform">>
[[Leave|Town Map]]
<<elseif $today.officeShift lt 2>>
<p>There's still work to get through today.</p>
[[Work a shift ($60)|Office Shift]]
<<if $today.officeShift gte 1>>
[[Leave|Office Clock Out]]
<<else>>
[[Leave|Town Map]]
<</if>>
<<else>>
<p>She's finished both shifts for today, so it's time to head out.</p>
[[Leave|Office Clock Out]]
<</if>>
<</if>><<run setup.setTimeAtLeast("Evening")>>
<<goto "Town Map">><img src="Images/officeppp.jpg" alt="">
<p>Daisy stands in front of the Banana Inc. building, a little in awe of just how big it is.</p>
<<speech "Daisy">>Wow… this place is huge.<</speech>>
<p>She takes a breath and steps inside. Soon, she's lost among the halls, checking each door for her manager's name. A woman about her age notices her confusion and walks over.</p>
<<speech "Christine">>Hey! Lost?<</speech>>
<<speech "Daisy">>...Mm. Yeah.<</speech>>
<<speech "Christine">>Let me guess — looking for the boss's office?<</speech>>
<<speech "Daisy">>Yeah, how'd you know?<</speech>>
<<speech "Christine">>Just a feeling. I'm Christine.<</speech>>
<<speech "Daisy">>Daisy. Nice to meet you.<</speech>>
<<set $quests.office to true>>
[[Continue|Office Meanwhile]]<p>Christine walks her toward a closed door at the end of the hall — but voices inside make her pause before knocking.</p>
<<speech "Jayden">>So. What can I do for you?<</speech>>
<<speech "Man">>Remember the girl I recommended for your company?<</speech>>
<<speech "Jayden">>I do. Any particular reason you recommended someone like her?<</speech>>
<<speech "Man">>I think she has potential to be the next Office Queen.<</speech>>
<<speech "Jayden">>Really.<</speech>>
<<speech "Man">>If she isn't, fire her. No harm, no foul.<</speech>>
<p>The door opens before Christine can knock — a man with something obscuring most of his face steps out, nearly walking into both of them. Christine brightens instantly.</p>
<<speech "Christine">>Oh! Hello, sir.<</speech>>
<<speech "Man">>Hi, Christine.<</speech>>
<p>He's gone before Daisy can get a good look at him. Christine turns to her with a cheerful smile, gesturing at the open door.</p>
<<speech "Christine">>So — here's the boss. Good luck!<</speech>>
<p>And with that, Christine's off, leaving Daisy alone with Jayden.</p>
[[Continue|Office Interview]]<p>Daisy sits across from her new manager, palms sweating, doing her best to look composed.</p>
<<speech "Daisy">>Hi, I'm—<</speech>>
<<speech "Jayden">>Daisy. I know. Sit.<</speech>>
<<speech "Jayden">>What do you know about this company?<</speech>>
<<speech "Daisy">>You sell... products. Electronics and beauty products.<</speech>>
<<speech "Jayden">>Correct. You're missing a third category. Any guesses?<</speech>>
<<speech "Daisy">>I... wasn't aware there was a third.<</speech>>
<<speech "Jayden">>Sex toys. We manufacture them before they go out to local and international retailers. Want a free sample?<</speech>>
<<speech "Daisy">>I— I think I'm okay, thank you.<</speech>>
<p>He gives a short, humorless laugh and glances back at his monitor.</p>
<<speech "Jayden">>You'll be with the Tech department for now. Get your ID from Christine.<</speech>>
<<speech "Jayden">>Any questions?<</speech>>
<<speech "Daisy">>...I guess I thought I'd learn more about the company itself.<</speech>>
<<speech "Jayden">>So what — you want to learn how to give me a proper blowjob instead?<</speech>>
<p>Daisy's mouth drops open.</p>
<<speech "Daisy">>What?! No!<</speech>>
<<speech "Jayden">>Then either learn that or get out of my office.<</speech>>
<p>Angry and flustered by his rude welcome, Daisy gets up and walks straight out.</p>
[[Continue|Office Comfort]]<<speech "Daisy">>God, what is <em>wrong</em> with that man?!<</speech>>
<p>Christine spots her stomping through the hall and falls into step beside her.</p>
<<speech "Christine">>Heyyy. Guessing he said something to piss you off?<</speech>>
<<speech "Daisy">>That's an understatement.<</speech>>
<<speech "Christine">>You'll get used to it. Anyway — anything you need?<</speech>>
<<speech "Daisy">>He mentioned getting my ID from you.<</speech>>
<<speech "Christine">>Oh, right! Here.<</speech>>
<p>Christine digs an ID badge out of a drawer and hands it over. Daisy clips it on, still fuming a little.</p>
<<speech "Daisy">>Thanks.<</speech>>
<<speech "Christine">>Anytime. Hey — you free this evening?<</speech>>
<<speech "Daisy">>I think so. Why?<</speech>>
<<speech "Christine">>Come shopping with me. Nothing crazy — just the mall, maybe something cute. New girl in town needs a proper welcome, right?<</speech>>
<<speech "Daisy">>Ha. Sure — that actually sounds nice. After work?<</speech>>
<<speech "Christine">>Perfect. I'll find you once it's evening. Don't flake on me!<</speech>>
<<speech "Daisy">>I won't.<</speech>>
<p class="scene-meta">Christine wants to shop this Evening — check the Town Map when the time comes.</p>
[[Continue|Office Work]]<p>Daisy finally reaches her cubicle. She needs to set up her desk, work out how to log in, and get through a stack of new employee forms.</p>
<p>She starts with the inbox: dozens of unread emails, most of them irrelevant. She files what she can and flags the rest for later.</p>
<p>Next is the onboarding folder — forms, policies, a company handbook thick enough to double as a doorstop. She skims the parts that matter and signs where a yellow tab tells her to. Halfway through, she catches herself actually reading the section on workplace conduct twice, Jayden's comment still sitting uncomfortably in the back of her mind.</p>
<p>Finally, a coworker from Tech shows her the team's shared files and a few tasks waiting to be done. The work is routine, and Daisy welcomes it after her rough morning.</p>
<<speech "Daisy">>Okay. I can do this.<</speech>>
<p>By the time she looks up again, the office has started to empty out for the day.</p>
<<set $office.stage to 1>>
<<set $today.officeShift to 2>>
[[Clock out|Office Clock Out]]<p>Christine waits near the exit, looking cheerful and ready to leave work behind. She clearly hasn't forgotten the shopping trip they planned that morning.</p>
<<speech "Christine">>There you are! Ready for our little mall run?<</speech>>
<<speech "Daisy">>Yeah — let me just text my husband so he knows I'll be late.<</speech>>
<<speech "Christine">>Husband? Ugh, what a waste for a pretty young thing like you.<</speech>>
<<speech "Daisy">>What? Why?<</speech>>
<<speech "Christine">>Because you should be out having fun, not tied down.<</speech>>
<div id="can">
<<link "Tell her she's wrong about James">><<replace "#can">>
<<speech "Daisy">>I'm happy with him. I really am.<</speech>>
<p>Daisy texts James before they leave — she'll be at the mall with Christine, a coworker, and she'll be home after.</p>
<<speech "Christine">>Mm, if you say so. Let's go shopping anyway!<</speech>>
<<set $office.christineChoice to "defend">>
<<stat "player.loveJames" 1>>
[[Continue|Office Mall]]
<</replace>><</link>>
<<link "Keep quiet and follow her">><<replace "#can">>
<p>Daisy doesn't argue. Something about the comment lingers a beat longer than it should.</p>
<<speech "Christine">>Well, regardless — let's go shopping!<</speech>>
<<set $office.christineChoice to "quiet">>
<<stat "player.corruption" 1>>
<<stat "player.loveJames" -1>>
[[Continue|Office Mall]]
<</replace>><</link>>
</div><img src="Images/clothing store.webp" alt="">
<<speech "Christine">>Ever shopped here before?<</speech>>
<<speech "Daisy">>I bought my office outfit here, actually.<</speech>>
<<speech "Christine">>Wait, really? I figured that was an old work outfit!<</speech>>
<p>Daisy bristles slightly, but Christine catches the shift in her mood fast.</p>
<<speech "Christine">>I just mean — you could wear something better. Pretty girls like us should.<</speech>>
<<speech "Daisy">>Fine. So what are we here for?<</speech>>
<<speech "Christine">>Clothes, obviously! Come on.<</speech>>
[[Continue|Office Try On]]<p>The shopkeeper recognizes Christine on sight, and Daisy gets pulled along to help pick things out for her — several of which look far more revealing than anything Daisy would wear herself.</p>
<<speech "Christine">>Lemme try these on. Tell me how they look — be honest!<</speech>>
<img src="Images/Day 2/D21.gif" alt="">
<p>Christine steps out in the first outfit, and it doesn't leave much to the imagination.</p>
<<speech "Christine">>What do you think?<</speech>>
<<speech "Daisy">>Don't you think it's a little... revealing?<</speech>>
<<speech "Christine">>Mm, no? I think it's fine. Why — don't you like it?<</speech>>
<div id="can">
<<link "It looks amazing on you">><<replace "#can">>
<<speech "Daisy">>I mean... it does look really good on you.<</speech>>
<<speech "Christine">>See? I have a hot body and I know it. Why not flaunt it?<</speech>>
<<stat "player.corruption" 1>>
[[Continue|Office Bikini]]
<</replace>><</link>>
<<link "Stay carefully neutral">><<replace "#can">>
<<speech "Daisy">>...It suits you, I guess.<</speech>>
<<speech "Christine">>Ha! You can say it looks hot, Daisy, I won't be offended.<</speech>>
[[Continue|Office Bikini]]
<</replace>><</link>>
</div><p>Christine disappears again and comes back in a black bikini that covers even less. Daisy doesn't know where to look, though she can't deny how good it looks on her.</p>
<img src="Images/Day 2/D23.jpeg" alt="">
<<speech "Daisy">>Wow... it looks good, I guess.<</speech>>
<<speech "Christine">>I know! Anyway — you have a dress for the party yet?<</speech>>
<<speech "Daisy">>Wait, what party?<</speech>>
<<speech "Christine">>Did I not mention it? I'm hosting a houseparty this Sunday. You're coming.<</speech>>
<<speech "Daisy">>I really don't think—<</speech>>
<<speech "Christine">>Oh come on, it's the perfect way to meet people in the city!<</speech>>
<p>Daisy hesitates, chewing her lip.</p>
<<speech "Daisy">>I don't even have anything to wear to a party.<</speech>>
<<speech "Christine">>Then I'll buy you one. Don't argue.<</speech>>
<<speech "Daisy">>Christine, I can't let you pay for my—<</speech>>
<<speech "Christine">>It's a gift. Now hush.<</speech>>
<<set $office.partyInvited to true>>
/* Party wait is armed after the Sergio photoshoot (main quest), not here. */
[[Continue|Office Dress]]<p>Christine picks a dress from the rack and hands it over without asking. Daisy tries it on and looks in the mirror. It's much tighter and more revealing than she's used to.</p>
<img src="Images/Day 2/D25.jpg" alt="">
<<speech "Daisy">>Uh... I don't think I can wear this.<</speech>>
<<speech "Christine">>What?! It's amazing. It fits you perfectly!<</speech>>
<<speech "Daisy">>Can we try something else?<</speech>>
<<speech "Christine">>Fiiine. One sec.<</speech>>
<p>Christine returns with a less revealing dress, and this time Daisy likes what she sees.</p>
<img src="Images/Day 2/D26.webp" alt="">
<<speech "Daisy">>...Okay, this one actually looks really good.<</speech>>
<<speech "Christine">>Perfect! Let's go pay.<</speech>>
[[Continue|Office Counter]]<p>The shopkeeper rings everything up.</p>
<<speech "Shopkeeper">>That'll be $300. I assume you want your usual... discount?<</speech>>
<<speech "Christine">>Of course. Wouldn't want to skip that.<</speech>>
<p>Before Daisy can ask what that means, Christine flashes the shopkeeper without a hint of shame.</p>
<img src="Images/Mall/christine5.jpg" alt="">
<<speech "Daisy">>Christine! What are you doing?!<</speech>>
<<speech "Christine">>Getting a discount, obviously.<</speech>>
<<speech "Shopkeeper">>You're down to $280.<</speech>>
<<speech "Christine">>Come on, you can do better than that.<</speech>>
<<speech "Shopkeeper">>Well. We both know what would get you there.<</speech>>
<p>Christine grins, unbothered, and drops to her knees right there in the store.</p>
<img src="Images/Mall/christine6.gif" alt="">
<<speech "Daisy">>I— I can't watch this...<</speech>>
<div id="can">
<<link "Stay and stare">><<replace "#can">>
<p>Daisy looks away, then finds herself looking back anyway — unable to stop watching Christine take him down her throat without a shred of hesitation.</p>
<img src="Images/Mall/christine7.webp" alt="">
<<speech "Daisy">>(...Daisy. You have a husband. Stop it.)<</speech>>
<p>Christine finishes him off with a satisfied hum, wipes her mouth, and checks her phone camera to make sure nothing landed where it shouldn't.</p>
<<speech "Shopkeeper">>...Alright. $200 even.<</speech>>
<<speech "Christine">>See? Wasn't that easy?<</speech>>
<<speech "Daisy">>Why would you even— why?<</speech>>
<<speech "Christine">>Because a woman who knows how to talk and move gets away with anything she wants.<</speech>>
<<stat "player.corruption" 1>>
[[Continue|Office Park]]
<</replace>><</link>>
<<link "Look away and leave">><<replace "#can">>
<p>Daisy turns on her heel and steps outside, waiting until Christine catches up minutes later, looking thoroughly pleased with herself.</p>
<<speech "Christine">>$200 even. Not bad, right?<</speech>>
<<speech "Daisy">>I don't even want to know.<</speech>>
<<speech "Christine">>Suit yourself.<</speech>>
<<stat "player.loveJames" 2>>
[[Continue|Office Park]]
<</replace>><</link>>
</div><p>On the way back, they walk through the park. Near the fountain, a group of people runs around half-dressed, though Daisy can't work out what they're doing.</p>
<img src="Images/Park/park1.gif" alt="">
<<speech "Daisy">>...What are they doing?<</speech>>
<<speech "Christine">>Looks fun, right? You should join!<</speech>>
<p>Christine's already peeling off a layer before Daisy can answer.</p>
<<speech "Daisy">>No — no, I'm good. I'm gonna head home.<</speech>>
<<speech "Christine">>Suit yourself. See you tomorrow!<</speech>>
<p>Daisy heads home carrying the party dress, still trying to make sense of her day with Jayden and Christine.</p>
/* Same "been to park" flag as Town → Park (sportswear + park jog, not Gym). */
<<if not $town.parkDone>>
<<set $town.parkDone to true>>
<<toast "Mall Clothing Store: sports dress unlocked" "good">>
<</if>>
<<set $office.stage to 2>>
<<if $office.christineChoice is "quiet">>
[[Head home|Mall Home James]]
<<else>>
[[Head home|House Map]]
<</if>><<if $office.christineChoice isnot "quiet" or $office.mallHomeAskDone>>
<<goto "House Map">>
<</if>>
<<set $world.location to "Home - Hall">>
<<= setup.locBannerHtml("hall")>>
<<run setup.markJamesEvent()>>
<p>Daisy gets in later than she meant to, party dress bag in hand. James is already in the hall, like he's been waiting.</p>
<<speech "James">>Hey. You said you'd be late — I didn't think this late.<</speech>>
<<speech "Daisy">>Sorry. I lost track of time.<</speech>>
<<speech "James">>Where were you? You said you'd be late, but not where you were going.<</speech>>
<p>He glances at the bag, then back at her face.</p>
<<speech "James">>So. What did you actually do tonight?<</speech>>
[[Tell the truth|Mall Home Truth]]
[[Lie about it|Mall Home Lie]]<<set $world.location to "Home - Hall">>
<<= setup.locBannerHtml("hall")>>
<<speech "Daisy">>I went shopping with a coworker. Christine. She dragged me to the mall after work and bought me a dress — she invited me to a houseparty this Sunday.<</speech>>
<<speech "James">>A houseparty. Already?<</speech>>
<<speech "Daisy">>I haven't said yes. I just… didn't want to be rude. She's a lot, but she was trying to welcome me.<</speech>>
<<speech "James">>Okay. Thanks for telling me. Next time just say where you're going, yeah?<</speech>>
<<speech "Daisy">>Yeah. I will.<</speech>>
<<set $office.mallHomeAskDone to true>>
<<set $office.mallHomeChoice to "truth">>
[[Inside|House Map]]<<set $world.location to "Home - Hall">>
<<= setup.locBannerHtml("hall")>>
<<speech "Daisy">>Work ran long, then I grabbed something on the way home. Nothing interesting.<</speech>>
<<speech "James">>That's a shopping bag, Daisy.<</speech>>
<<speech "Daisy">>Just a dress. I didn't want to bother you with it.<</speech>>
<p>James nods, but the look he gives her lasts a second too long — like he can tell she's leaving something out.</p>
<<speech "James">>Alright. If you say so.<</speech>>
<<stat "james.awareness" 1>>
<<set $office.mallHomeAskDone to true>>
<<set $office.mallHomeChoice to "lie">>
[[Inside|House Map]]<img src="Images/Office/office.jpg" alt="">
<p>Daisy's barely through the door when Christine catches up to her, two cups in hand, same easy grin as her first day.</p>
<<speech "Christine">>Hey! Coffee?<</speech>>
<<speech "Daisy">>You really don't have to keep doing this.<</speech>>
<<speech "Christine">>Please. What kind of welcome committee would I be otherwise?<</speech>>
<p>Daisy takes the cup and heads to her desk, unaware that there's anything wrong with the coffee.</p>
[[Continue|Office Coffee Flashback]]<p class="scene-meta">The day before, in Jayden's office — Daisy was nowhere near this room.</p>
<<speech "Jayden">>Christine.<</speech>>
<<speech "Christine">>Yes, sir?<</speech>>
<<speech "Jayden">>I need you to give the new girl a... proper welcome.<</speech>>
<<speech "Christine">>Mm — you mean...?<</speech>>
<<speech "Jayden">>Yes.<</speech>>
<p>He opens a drawer and slides a small packet across the desk — something pink and crystalline inside.</p>
<<speech "Jayden">>You know what to do with it.<</speech>>
<<speech "Christine">>Yes, sir~<</speech>>
<p>Christine puts the packet away without hesitation, already planning to add it to Daisy's coffee.</p>
<<speech "Jayden">>Can I count on you to make her enjoy this job as much as you do?<</speech>>
<<speech "Christine">>Of course. Give me a few days — I'll bring the slut out of her myself.<</speech>>
[[Continue|Office Urge]]<p>Daisy settles at her desk and starts sorting through her full inbox, leaving her coffee to cool beside her. At first, it feels like an ordinary workday. Then a sudden wave of heat leaves her restless and unable to focus.</p>
<<speech "Daisy">>(...Why am I so worked up all of a sudden?)<</speech>>
<p>She shifts in her chair, thighs pressing together, trying to focus on the screen in front of her. It doesn't help. Twenty minutes later it's worse, not better, and she's out of her seat before she's fully decided to be, half-jogging down the hall in search of anywhere private.</p>
<p>She spots a door and ducks through it without checking the sign, too far gone to register that the layout inside is wrong — no line of stalls, just a row of urinals along one wall. She doesn't notice. She's already locking herself into the single stall at the end, back against the door, breathing hard.</p>
<<speech "Daisy">>Ok. Ok, it's fine. Just— just a minute. No one has to know.<</speech>>
<p>She tells herself it's thirty seconds, that she'll be back at her desk before anyone even notices she's gone. Her hand slips under her skirt anyway, the ache too insistent to argue with any further.</p>
<img src="Images/Office/toilet1.jpeg" alt="">
<p>She has barely begun when the door opens. Footsteps cross the room, and someone stops just outside her stall.</p>
[[Continue|Office Caught]]<p>Daisy freezes, breath caught in her throat, as a knock raps against the stall door.</p>
<<speech "Jayden">>Everything alright in there? You've been gone a while.<</speech>>
<p>Daisy hastily straightens her clothes and steps out, her face burning. Only then does she notice the urinals along the wall behind him.</p>
<<speech "Daisy">>Wait— this is—<</speech>>
<<speech "Jayden">>The men's room. Yes.<</speech>>
<p>Her new boss stands there with an expression that isn't quite anger — more like he's already decided what happens next.</p>
<img src="Images/Office/toilet3.jpeg" alt="">
<<speech "Daisy">>I— I can explain, it's not what it—<</speech>>
<<speech "Jayden">>Your second day. Already caught being... inappropriate on company time. In the wrong bathroom, no less.<</speech>>
<p>He doesn't raise his voice. He doesn't need to.</p>
<<speech "Jayden">>Go to my office and sit down. Now.<</speech>>
[[Jayden's Office|Office Blackmail]]<p>Daisy sits stiffly across from Jayden's desk, hands folded in her lap like she's back in a principal's office. He takes his time before speaking.</p>
<<speech "Jayden">>I could fire you for this right now. One report, and you'd be out before your first week is over.<</speech>>
<<speech "Daisy">>Please — it won't happen again, I swear—<</speech>>
<<speech "Jayden">>It won't. Because I have a recording of exactly what you were doing in that stall.<</speech>>
<p>Daisy's stomach drops.</p>
<<speech "Daisy">>You— you recorded me?! That's—<</speech>>
<<speech "Jayden">>That's not blackmail, Daisy. Blackmail is when I give you no choice at all. What I'm offering you is a very generous one, given the circumstances.<</speech>>
<p>Her anger gives way to fear as she tries to think of a way out. Whatever she does next, she knows she stands to lose something.</p>
<<speech "Jayden">>I delete the footage. You keep your job, your reputation, your husband never hears a word of this. All you have to do is listen when I ask something of you. Starting with your wardrobe — I'll expect something a little more... memorable, from now on.<</speech>>
<<speech "Daisy">>...Fine. Okay. Just — delete it.<</speech>>
<<speech "Jayden">>Good girl. I'll be in touch.<</speech>>
<p>Daisy leaves his office feeling numb, then stops after a few steps. The heat she felt after drinking the coffee still hasn't eased. Being interrupted in the stall has only made it worse, and she knows she can't stay at work.</p>
<<set $office.stage to 4>>
<<set $office.blackmailed to true>>
<<set $office.messageSent to true>>
<<stat "player.corruption" 1>>
<<set $today.officeShift to 2>>
<<run setup.setTimeAtLeast("Evening")>>
<p class="scene-meta">She needs to get home. Now.</p>
[[Head home|James Urge]]
/* ═══════════════════════════════════════════════════════════
OFFICE UNIFORM DAY — first weekday in Jayden's Mall dress, adapted
from the original Day 5 OD5 → HD5 → TD5. One-shot: auto-fires from
Town Office once $office.uniformBought on a prior day, she's wearing
the uniform, and $office.uniformDayDone is still false. Counts as a
full paid workday (both shifts). Introduces David and unlocks
$quests.david; H2D5 home overnight is player-triggered from House Map
once $jamesUrge.done (see locations/quests/david-home.twee).
═══════════════════════════════════════════════════════════ */<<set $world.location to "Town - Office">>
<p>Daisy notices people staring as soon as she enters the office. Her revealing outfit draws looks from every direction, making her painfully aware of each step. She wishes she could pass through the room without anyone noticing.</p>
<p>She tries to walk with confidence, even though she feels everyone watching her.</p>
<<speech "Daisy">>(I should go to Jayden's office and show him the outfit…)<</speech>>
[[Jayden's office|Office Uniform Jayden]]<<set $world.location to "Town - Office - Jayden">>
<p>As Daisy enters Jayden's office, a button breaks and her blouse falls open slightly. His eyes drop to her cleavage, and he makes no effort to stop staring.</p>
<img src="Images/Boss/button.gif" alt="">
<<speech "Jayden">>Hey — don't fix that. You look better with it open. And that dress looks stunning on you. You should work in it today.<</speech>>
<<speech "Jayden">>One more thing. You'll be working with David today. You can meet him in the hall.<</speech>>
<<stat "player.corruption" 1>>
[[Hall|Office Uniform David]]<<set $world.location to "Town - Office - Hall">>
<p>Still embarrassed by the attention her outfit draws, Daisy heads into the hall and tries to focus on work. Jayden told her to work with David today, so she needs to find him.</p>
<<speech "Daisy">>Are you David?<</speech>>
<<speech "David">>Yeah. You must be Daisy. The boss told me to work with you.<</speech>>
<<speech "Daisy">>Shall we start?<</speech>>
<<speech "David">>Yeah.<</speech>>
<p>A little later…</p>
<img src="Images/David/cleavage.gif" alt="">
<<speech "David">>(Those big melons… God, I could die for them.)<</speech>>
<<speech "David">>All the work's done. Daisy, you did a great job. You can head out now.<</speech>>
<<speech "Daisy">>(I should hit the restroom first…)<</speech>>
<<set $office.metDavid to true>>
<<set $quests.david to true>>
[[Toilet|Office Uniform Toilet]]<<set $world.location to "Town - Office - Toilet">>
<p>Daisy opens the restroom door and freezes. Christine is already inside, doing far more than taking a bathroom break.</p>
<img src="Images/Christine/toilet.gif" alt="">
<<speech "Daisy">>(She's living the full slut lifestyle… I'm not peeing here. Park toilet it is.)<</speech>>
<<stat "player.corruption" 1>>
<<set $office.uniformDayDone to true>>
/* Arm Desk2 3-day wait if StoryCaption hasn't yet (same night save). */
<<if $office.clientWaitSleeps is -1 and not $office.clientTaskDone>>
<<set $office.clientWaitSleeps to 3>>
<</if>>
<<set $today.officeShift to 2>>
<<set $player.money += 120>>
<<run setup.setTimeAtLeast("Evening")>>
<div class="fading-text fade-animation">Money +$120</div>
<p>With her day's work done and her pay collected, Daisy leaves the building. She still can't stop thinking about the broken button, David's stare, and all the eyes that followed her.</p>
[[Leave|Town Map]]
/* ═══════════════════════════════════════════════════════════
DESK2 / B2D6 CLIENT TASK — main quest, 3 sleeps after OD5.
Auto-fires from Town Office when $office.clientTaskReady.
Desk summons → Jayden + Christine → taxi → Steve's mansion deal
(Christine closes it her way) → photoshoot seed.
═══════════════════════════════════════════════════════════ */<<set $world.location to "Town - Office">>
<p>While Daisy is heading to her desk, a coworker calls out.</p>
<<speech "Coworker">>Hey, wait! The boss wants to see you in his office.<</speech>>
<<speech "Daisy">>(What does that pervert want from me now… I should go.)<</speech>>
[[Boss's office|Office Client Briefing]]<<set $world.location to "Town - Office - Jayden">>
<img src="Images/Boss/office.jpeg" alt="">
<p>Daisy heads to Jayden's office with a sinking feeling. After everything that has happened there, she dreads finding out what he wants this time.</p>
<<speech "Jayden">>Come in, Daisy. I've been waiting for you. Just a second — Christine is coming too.<</speech>>
<p><strong>After two minutes, Christine steps in.</strong></p>
<<speech "Christine">>Yes, sir? You called me?<</speech>>
<<speech "Jayden">>Sit. Both of you. I have a task. We have a client who owns a processor company — I need you two to visit his house and persuade him to supply processors to Banana. I have faith in your abilities.<</speech>>
<<speech "Daisy">>But I'm a software engineer here, not a saleswoman.<</speech>>
<<speech "Jayden">>So do you want me to show your… recording again?<</speech>>
<<speech "Daisy">>Ok — ok. I'm ready.<</speech>>
<<speech "Jayden">>Christine has experience with this kind of task. She'll guide you. You can leave now — I've arranged a taxi.<</speech>>
[[Leave with Christine|Office Client Christine Prep]]<<set $world.location to "Town - Office">>
<<speech "Christine">>Wait a moment — I need to change. I always keep something suitable in my locker for these types of tasks.<</speech>>
<p><strong>Five minutes later, Christine returns.</strong></p>
<img src="Images/Christine/mansion1.gif" alt="">
<<speech "Daisy">>You're planning to wear <em>that</em>? What are you thinking?<</speech>>
<<speech "Christine">>Just watch and learn, sweetheart.<</speech>>
[[Taxi|Office Client Mansion]]<<set $world.location to "Town - Client Mansion">>
<img src="Images/Steve/mansion.jpeg" alt="">
<<speech "Guard">>Yes, ma'am?<</speech>>
<<speech "Christine">>We're here from Banana.<</speech>>
<<speech "Guard">>Yes — the boss informed me. Go ahead.<</speech>>
<img src="Images/Steve/mansion1.gif" alt="">
<img src="Images/Steve/mansion2.gif" alt="">
<<speech "Guard">>(Damn… look at that. Boss is gonna have a great time today.)<</speech>>
<p>Inside, a man in an expensive shirt waves them toward a long sofa.</p>
<<speech "Christine">>We're from Banana.<</speech>>
<<speech "Steve">>Please, have a seat. I'm Steve, CEO of Lintel. We make processors.<</speech>>
<<speech "Christine">>Our company needs the latest Lintel processors by the end of this month.<</speech>>
<<speech "Steve">>I'm sorry — we've already agreed to supply Hamsung. It isn't possible this month.<</speech>>
<<speech "Christine">>What if I do… this.<</speech>>
<<speech "Daisy">>(I knew she'd do something unpleasant. Why the hell did I come with her?)<</speech>>
<<speech "Steve">>Mmm. Can we have a more… personal talk, then?<</speech>>
<<speech "Christine">>Of course. That's what I came prepared for.<</speech>>
<<speech "Steve">>Come with me.<</speech>>
<<speech "Daisy">>(Is she going to fuck him for this deal? She's really a freak. Should I… look?)<</speech>>
[[Peek|Office Client Peek]]
[[Wait outside the room|Office Client Wait Outside]]<<stat "player.corruption" 1>>
<p>Daisy tells herself she shouldn't — then her feet carry her closer to the half-open door anyway.</p>
[[Continue|Office Client Christine POV]]<<stat "player.loveJames" 1>>
<p>Daisy stays in the sitting room and stares at a plant, trying to ignore the sounds next door. Even without looking, she knows what's happening.</p>
[[When they return|Office Client Deal]]<<set $world.location to "Town - Client Mansion">>
<<speech "Steve">>So what did you have in mind?<</speech>>
<<speech "Christine">>Same thing that's going through your mind, baby.<</speech>>
<<speech "Steve">>What about the girl who came with you? You should invite her too.<</speech>>
<<speech "Christine">>She isn't ready for that yet. But if we have a deal, I promise one day I'll let you taste her too. For now, focus on me.<</speech>>
<p>Steve starts undressing Christine.</p>
<img src="Images/Steve/mansion3.gif" alt="">
<<speech "Steve">>I want to taste you.<</speech>>
<<speech "Christine">>You don't need permission. I'm all yours today.<</speech>>
<p>He goes down on her.</p>
<img src="Images/Steve/mansion4.gif" alt="">
<<speech "Christine">>My turn to return the favor.<</speech>>
<img src="Images/Steve/mansion5.gif" alt="">
<<speech "Steve">>Time for the main course.<</speech>>
<img src="Images/Steve/mansion7.webp" alt="">
<<speech "Steve">>I'm about to cum — show me your face, baby.<</speech>>
<img src="Images/Steve/mansion8.gif" alt="">
<p>He finishes across Christine's face. She barely flinches.</p>
<<speech "Christine">>We should talk about the deal now.<</speech>>
<<speech "Steve">>How can I say no to you? Your boss is lucky to have you.<</speech>>
[[Continue|Office Client Deal]]<<set $world.location to "Town - Client Mansion">>
<<stat "player.corruption" 1>>
<img src="Images/Steve/mansion9.gif" alt="">
<<speech "Daisy">>(Is that cum on her face…? She's really a slut.)<</speech>>
<p>Christine wipes her face with a napkin like she's fixing lipstick.</p>
<<speech "Steve">>I've made my decision. We can supply the processors by the end of this month.<</speech>>
<<speech "Daisy">>Oh — that's great.<</speech>>
<<speech "Steve">>However… I can close the deal if you help me with one more task.<</speech>>
<<speech "Daisy">>Yeah — what do you need?<</speech>>
<<speech "Steve">>A friend needs a girl for a magazine cover tomorrow. Interested in a photoshoot? You'll be compensated.<</speech>>
<<speech "Daisy">>I have to ask my husband first.<</speech>>
<<speech "Christine">>Hey — twenty-first century. Women make their own choices. Why do you need his permission?<</speech>>
<div id="can">
<<link "Don't tell James">><<replace "#can">>
<<stat "player.corruption" 1>>
<<stat "player.loveJames" -1>>
<<speech "Daisy">>…Ok.<</speech>>
<<speech "Christine">>That's the spirit. Let's head back. Go home after — and don't forget the photoshoot. There's a studio in town; they'll be expecting you.<</speech>>
<<set $office.photoshootPending to true>>
<<set $office.photoshootToldJames to false>>
<<set $office.clientTaskDone to true>>
<<set $quests.photoshoot to true>>
/* First studio session waits on Sergio's text after 3 sleeps. */
<<set $office.photoshootWaitSleeps to 3>>
<<set $office.photoshootMsgSent to false>>
<<set $office.photoshootMsgRead to false>>
<<set $today.officeShift to 2>>
<<set $player.money += 120>>
<<run setup.setTimeAtLeast("Evening")>>
<div class="fading-text fade-animation">Money +$120</div>
<<toast "New quest: Photoshoot" "good">>
<<toast "New on Town Map: Photo Studio" "good">>
[[Head home|Client Home James]]
<</replace>><</link>>
<<link "Tell James">><<replace "#can">>
<<stat "player.loveJames" 2>>
<<speech "Daisy">>Sorry — I don't want to hide things from him.<</speech>>
<p>Daisy steps aside and calls James.</p>
<<speech "Daisy">>Hello, James. I've got an offer to do a magazine photoshoot. Do you think I should take it?<</speech>>
<<speech "James">>Ask whether the clothes cover you properly. If they do, I'm fine with it.<</speech>>
<<speech "Daisy">>Ok, baby. Bye.<</speech>>
<<speech "Daisy">>Do I have to wear something revealing?<</speech>>
<<speech "Steve">>No, no — clothes that cover you fully. For now, darling.<</speech>>
<<speech "Daisy">>Ok. I'm ready then.<</speech>>
<<speech "Christine">>That's the spirit. Let's head back. Go home after — and don't forget the photoshoot. There's a studio in town; they'll be expecting you.<</speech>>
<<set $office.photoshootPending to true>>
<<set $office.photoshootToldJames to true>>
<<set $office.clientTaskDone to true>>
<<set $quests.photoshoot to true>>
<<set $office.photoshootWaitSleeps to 3>>
<<set $office.photoshootMsgSent to false>>
<<set $office.photoshootMsgRead to false>>
<<set $today.officeShift to 2>>
<<set $player.money += 120>>
<<run setup.setTimeAtLeast("Evening")>>
<div class="fading-text fade-animation">Money +$120</div>
<<toast "New quest: Photoshoot" "good">>
<<toast "New on Town Map: Photo Studio" "good">>
[[Head home|Client Home James]]
<</replace>><</link>>
</div><<if $office.clientHomeAskDone or not $office.clientTaskDone>>
<<goto "House Map">>
<</if>>
<<set $world.location to "Home - Hall">>
<<= setup.locBannerHtml("hall")>>
<<run setup.markJamesEvent()>>
<p>Daisy gets the door open still in the uniform from the client visit. James is in the hall. His smile fades as his eyes drop to her skirt.</p>
<<speech "James">>Babe… what is that?<</speech>>
<p>She follows his gaze to a pale smear on her skirt, still wet enough to catch the light. Christine had wiped her face with a napkin after Steve finished on her. Some of it must have landed on Daisy on the way out, or when Christine leaned in close.</p>
<<speech "Daisy">>(Oh god.)<</speech>>
<<speech "James">>Daisy. That's not coffee.<</speech>>
[[Tell him what happened|Client Home Truth]]
[[Lie about it|Client Home Lie]]<<set $world.location to "Home - Hall">>
<<= setup.locBannerHtml("hall")>>
<<speech "Daisy">>It's… it's Christine. We were at a client's house. She closed the deal her way. He finished on her face. I think some of it got on me when we left. I wasn't part of it. I swear.<</speech>>
<p>James stares at the stain, then at her, jaw tight.</p>
<<speech "James">>Jesus, Daisy. That's the kind of coworker you're spending the day with?<</speech>>
<<speech "Daisy">>I didn't know she'd actually— I just wanted to go home.<</speech>>
<<speech "James">>…Okay. Thank you for telling me. Wash that. Please.<</speech>>
<<set $office.clientHomeAskDone to true>>
<<set $office.clientHomeChoice to "truth">>
[[Inside|House Map]]<<set $world.location to "Home - Hall">>
<<= setup.locBannerHtml("hall")>>
<<speech "Daisy">>It's lotion. Or— I spilled something at a lunch. I didn't notice.<</speech>>
<<speech "James">>On your skirt. After a client visit. Daisy.<</speech>>
<<speech "Daisy">>I'm tired. Can we not make it a thing?<</speech>>
<p>He doesn't push. He also doesn't look convinced. The way his eyes keep flicking back to the stain says he's going to remember this.</p>
<<speech "James">>…Go change.<</speech>>
<<stat "james.awareness" 1>>
<<set $office.clientHomeAskDone to true>>
<<set $office.clientHomeChoice to "lie">>
[[Inside|House Map]]
/* ═══════════════════════════════════════════════════════════
REPEATABLE WORK SHIFTS — flat $60 pay, two shifts per workday.
No random flavor events that farm stats. One-time Gigs unlock
still fires here until $jobs.unlocked.
═══════════════════════════════════════════════════════════ */<<set $today.officeShift += 1>>
<<set $player.money += 60>>
<<run setup.advanceTime(1)>>
<div class="fading-text fade-animation">Money +$60</div>
<<if $today.officeShift is 1>>
<p>Daisy gets started on the morning's work, dealing with tasks, team meetings, and the usual routine.</p>
<<else>>
<p>The afternoon stretch drags a little, the office quieter as people duck out for coffee runs.</p>
<</if>>
<<if not $jobs.unlocked and random(1, 4) is 1>>
[[Continue|Office Shift Jobs Hint]]
<<else>>
<p>The rest of the shift passes quietly, with nothing out of the ordinary.</p>
[[Back to her desk|Town Office]]
<</if>>
/* ═══════════════════════════════════════════
JOBS UNLOCK — Christine actually sends the freelance-site link this
time (see phone.js's renderGigs()), replacing the vague "check this
website" tease that used to dead-end here. One-time, $jobs.unlocked.
═══════════════════════════════════════════ */<p>Christine drops by Daisy's desk, phone already out.</p>
<<speech "Christine">>Hey, remember that side-gig site I mentioned? I finally remembered to send it to you.<</speech>>
<<speech "Daisy">>Oh — right, yeah. What's it for again?<</speech>>
<<speech "Christine">>Freelance stuff. Quick jobs, decent pay, all from your phone. I use it whenever the office paycheck isn't cutting it.<</speech>>
<p>Daisy's phone buzzes with the link a second later. She taps through out of curiosity — a whole board of listed gigs, ratings, the works.</p>
<<speech "Daisy">>Huh. This actually looks legit.<</speech>>
<<speech "Christine">>Told you. Have fun.<</speech>>
<<set $jobs.unlocked to true>>
<<toast "New app: Gigs" "good">>
[[Back to her desk|Town Office]]
/* ═══════════════════════════════════════════════════════════
POST-PARTY — OD9 + boss room + sex department (OD9 / boss room /
O2D9 / SD9). Arms when $office.partyDone; weekday Morning only.
═══════════════════════════════════════════════════════════ */<<set $world.location to "Town - Office">>
<p>Daisy spots Christine in the hall and goes over to thank her for last night.</p>
<<speech "Daisy">>Oh — thank you so much for inviting me yesterday.<</speech>>
<<speech "Christine">>No problem. (What a night.)<</speech>>
<<speech "Christine">>By the way — Jayden called you into his office. You should go.<</speech>>
<<speech "Daisy">>Okay. I'll go.<</speech>>
[[Boss's office|Office Boss Room]]<<set $world.location to "Town - Office - Boss">>
<p>Daisy nervously knocks on Jayden's door. When he calls her in, she takes a seat, worried that this meeting will mean more trouble.</p>
<img src="Images/Boss/office.jpeg" alt="">
<<speech "Jayden">>Hello Daisy. How are you?<</speech>>
<<speech "Daisy">>I'm good, sir.<</speech>>
<<speech "Jayden">>I've heard you've been working hard.<</speech>>
<<speech "Daisy">>Yes, sir.<</speech>>
<<speech "Jayden">>That's great. Looks like you love your job.<</speech>>
<<speech "Daisy">>Yes, sir.<</speech>>
<<speech "Jayden">>Then I think it's time to take things further. I have another order for you. Are you ready?<</speech>>
<p>Daisy feels the fear settle in — Jayden never means anything good by "taking things further." She nods anyway.</p>
<<speech "Daisy">>Yes, sir.<</speech>>
<<speech "Jayden">>I like to collect panties from hardworking girls. You should give me yours too. If you don't believe me — let me show you.<</speech>>
<p>He picks up his phone and calls Christine into the office.</p>
<<speech "Jayden">>You know Christine. She's the hardest-working girl here. And she doesn't wear panties either. Christine — show her.<</speech>>
<img src="Images/Day 11/panty0.gif" alt="">
<<speech "Jayden">>Thank you, Christine. You can go.<</speech>>
<p>Christine leaves without a word of apology.</p>
<<speech "Jayden">>See? Same for you. Give me your panties.<</speech>>
<<speech "Daisy">>You know what? I'm leaving this job. I don't want this fucking job.<</speech>>
<<speech "Jayden">>Ahh — wait. Watch this first.<</speech>>
<p>He plays the video. Daisy's blood goes cold.</p>
<<speech "Daisy">>Please delete it.<</speech>>
<<speech "Jayden">>Panties first.<</speech>>
<<speech "Daisy">>…Okay. Take them.<</speech>>
<p>Daisy removes her panties and hands them over, face burning, eyes wet.</p>
<img src="Images/Day 11/panty1.gif" alt="">
<<speech "Jayden">>I love the smell. You will not wear panties from now on — or your husband sees this video next. One more thing: you work with Christine today in the sex department.<</speech>>
<<speech "Daisy">>Why the sex department?<</speech>>
<<speech "Jayden">>Do as I say.<</speech>>
<<speech "Daisy">>(Bastard!!)<</speech>>
<p>She's almost out when he flicks a pen onto the floor. "Pick it up." She bends without thinking — and remembers too late she has nothing underneath.</p>
<img src="Images/Day 11/panty2.gif" alt="">
<<speech "Jayden">>Nice pussy, girl.<</speech>>
<<speech "Daisy">>(I'll kill him. I have to remember I'm not wearing any…)<</speech>>
<<set $office.bossRoomDone to true>>
<<set $office.noPanties to true>>
<<stat "player.corruption" 1>>
<<stat "player.loveJames" -1>>
[[Leave his office|Office Boss Room After]]<<set $world.location to "Town - Office">>
<p>Daisy returns to her desk, upset and fighting back tears. Christine appears before she can fall apart.</p>
<<speech "Christine">>I'm sorry, Daisy — for whatever happened in there.<</speech>>
<<speech "Daisy">>Why are you sorry? You were just doing what he said. Don't you feel embarrassed doing all of this?<</speech>>
<<speech "Christine">>I used to. Now I enjoy it. You should give yourself some freedom too — it's okay to use what you've got.<</speech>>
<<speech "Daisy">>But what about James? Isn't this cheating?<</speech>>
<<speech "Christine">>How is this cheating? You show parts to a doctor. It's just a body. Showing what you were born with isn't cheating.<</speech>>
<<speech "Daisy">>Hm. Jayden told me to work with you today in the sex department.<</speech>>
<<speech "Christine">>Yeah — he told me. We have to test a sex toy.<</speech>>
<<speech "Daisy">>A… sex toy?<</speech>>
<<speech "Christine">>Yes. Follow me.<</speech>>
[[Sex department|Office Sex Department]]
/* SD9 — butt-plug product test with Christine */<<set $world.location to "Town - Office - Sex Department">>
<p>Daisy enters the room and freezes. A woman is naked on a bed, wrists and ankles bound — a machine driving a toy into her without pause.</p>
<img src="Images/Day 9/d91.webp" alt="">
<<speech "Daisy">>What the hell is this?<</speech>>
<<speech "Christine">>Don't worry — she's just checking the machine.<</speech>>
<<speech "Daisy">>Do I have to do the same thing?<</speech>>
<<speech "Christine">>No, darling. You have to test <em>this</em> today.<</speech>>
<img src="Images/Day 9/d92.webp" alt="">
<<speech "Christine">>This is a butt plug. Take off your clothes and put it up your ass.<</speech>>
<<speech "Daisy">>I can't do that.<</speech>>
<<speech "Christine">>Don't worry, there are only women here right now. Get undressed. Quickly.<</speech>>
<p>Daisy hesitantly strips.</p>
<img src="Images/Day 9/d93.webp" alt="">
<<speech "Christine">>Now bend down and show me your ass so I can put it in.<</speech>>
<p>Daisy bends over, still naked, while Christine slowly presses the plug in.</p>
<img src="Images/Day 9/d94.webp" alt="">
<<speech "Daisy">>Ahhhh…<</speech>>
<<speech "Christine">>Little slut. Now lie on the bed and show me how it looks.<</speech>>
<img src="Images/Day 9/d95.webp" alt="">
<<speech "Christine">>You look great. Keep it in for the rest of the day and tell me about your experience tomorrow. Got it?<</speech>>
<<speech "Daisy">>What?! All day?<</speech>>
<<speech "Christine">>Yes, sweetheart. All day. You can go now.<</speech>>
[[Continue|Office Sex Department Done]]<<set $world.location to "Town - Office">>
<<set $office.sexDeptDone to true>>
<<set $office.buttPlug to true>>
<<stat "player.corruption" 1>>
<<set $today.officeShift to 2>>
<<set $player.money += 120>>
<<run setup.setTimeAtLeast("Evening")>>
<div class="fading-text fade-animation">Money +$120</div>
<p>Daisy dresses carefully, feeling the plug with every movement. She has to leave it in and go without panties as she returns to work for the rest of the day.</p>
<p class="scene-meta">Jayden's rules: no panties at work. Wear the plug for the rest of the day — Christine wants a report tomorrow.</p>
[[Head home|Plug Home James]]<<if $office.plugHomeAskDone or not $office.buttPlug>>
<<goto "House Map">>
<</if>>
<<set $world.location to "Home - Hall">>
<<= setup.locBannerHtml("hall")>>
<<run setup.markJamesEvent()>>
<p>Daisy gets the door open carefully, every step a reminder of the plug. James is in the hall. She tries to slip past him — and her bag strap snags. The bag hits the floor. She bends to grab it.</p>
<p>Her skirt rides up, revealing that she has no panties on. The jewel at the base of the plug catches the light.</p>
<img src="Images/James/butt_plug.gif" alt="">
<<speech "James">>Daisy— what the hell is that?<</speech>>
[[He saw it|Plug Home Lie]]<<set $world.location to "Home - Hall">>
<<speech "Daisy">>It's nothing. A— a medical thing. For posture. Christine said it was a product sample, I was just bringing it home, I didn't even—<</speech>>
<<speech "James">>That's not a sample in a bag. That's in you.<</speech>>
<<speech "Daisy">>It's work. Testing. I couldn't take it out at the office.<</speech>>
<p>He doesn't buy it. His voice drops.</p>
<<speech "James">>Show me.<</speech>>
<<speech "Daisy">>No. James, I'm not— I'm not showing you that. Just let me change.<</speech>>
<<speech "James">>Daisy.<</speech>>
<<speech "Daisy">>I said no.<</speech>>
<p>He studies her for a moment before stepping aside. He clearly doesn't believe her, and she doubts he will forget what he saw.</p>
<<stat "james.awareness" 1>>
<<set $office.plugHomeAskDone to true>>
<<set $office.plugHomeChoice to "lie">>
[[Inside|House Map]]<<set $world.location to "Town - Park">>
<<= setup.locBannerHtml("park")>>
<<if not $town.parkDone>>
<p>Daisy arrives at the park and breathes in the air.</p>
<<speech "Daisy">>God, I love this place.<</speech>>
<p>She enjoys the sun as she walks, then notices a jogger running past.</p>
<img src="Images/Day 1/D118.gif" alt="">
<<speech "Daisy">>She's… so hot.<</speech>>
<p>Daisy glances down at her own body and compares it to the jogger's toned figure. She feels jealous at first, then starts thinking about getting in shape herself as the woman runs on.</p>
<<speech "Daisy">>No! I can look like that too! I'm gonna need proper sports clothes first… that clothing-store guy might have something. Got to get paid first, though.<</speech>>
<p>The jealousy tightens for a second longer.</p>
<<speech "Daisy">>I wish my body looked that good.<</speech>>
<p>With a new goal in mind, Daisy leaves the park — sportswear first, then she can come back and run these paths herself.</p>
<<set $town.parkDone to true>>
<<toast "Mall Clothing Store: sports dress unlocked" "good">>
[[Leave|Town Map]]
<<else>>
<p>Trees shade the grass where families sit while children play on the swings. It's a peaceful spot in the busy town, and Daisy still wants to try the path where she saw the jogger.</p>
<div class="loc-grid">
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Relax on a bench</span><span class="loc-sub">Pass some time</span></span>' "Town Park Relax">><</link>>
/* Jogging — after sports dress bought; must wear it.
Fit 5 → P2D6; Fit 10 → help; Fit 15 → gym offer (PD9). */
<<if $town.gymClothesBought>>
<<if $wardrobe.current isnot "gym">>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Jog</span><span class="loc-sub">Wear the sports dress first</span></span>' "Town Park Jog Blocked">><</link>>
<<elseif $today.parkJogged>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Jog</span><span class="loc-sub">Already ran today</span></span>' "Town Park Jog Done">><</link>>
<<elseif $town.tysoneMet and $gym.level gte 5 and not $town.tysoneWorkoutDone>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Train with Tysone</span><span class="loc-sub">He is already here</span></span>' "Park Tysone Workout">><</link>>
<<elseif $town.tysoneMet and $town.tysoneWorkoutDone and $gym.level gte 10 and not $town.tysoneHelpDone>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Train with Tysone</span><span class="loc-sub">He offers to help</span></span>' "Park Tysone Help">><</link>>
<<elseif $town.tysoneHelpDone and $gym.level gte 15 and not $town.gymIntroDone>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Talk to Tysone</span><span class="loc-sub">He mentions the gym</span></span>' "Park Gym Offer">><</link>>
<<else>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Jog</span><span class="loc-sub">Hit the path</span></span>' "Town Park Jog">><</link>>
<</if>>
<<else>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Jog</span><span class="loc-sub">Need sports dress from Mall</span></span>' "Town Park Jog NoClothes">><</link>>
<</if>>
</div>
[[Leave|Town Map]]
<</if>><<set $world.location to "Town - Park">>
<<run setup.advanceTime(1)>>
<p>Daisy settles onto a bench and just lets a little time pass, watching the town go by.</p>
[[Leave|Town Map]]<<set $world.location to "Town - Park">>
<<= setup.locBannerHtml("park")>>
<p>She looks at the running path, then down at her clothes. She definitely isn't dressed for a jog.</p>
<<speech "Daisy">>I'll need sports clothes from the Mall Clothing Store before I can try this.<</speech>>
[[Back|Town Park]]<<set $world.location to "Town - Park">>
<<= setup.locBannerHtml("park")>>
<p>She's got the sports outfit at home — just not on her right now.</p>
<<speech "Daisy">>I'll change at the Bedroom wardrobe, then come back.<</speech>>
[[Back|Town Park]]<<set $world.location to "Town - Park">>
<<= setup.locBannerHtml("park")>>
<p>Her legs still ache from her earlier run. Once a day is enough for now.</p>
[[Back|Town Park]]<<set $world.location to "Town - Park">>
/* Story beats take priority over a normal jog / random meet. */
<<if $town.tysoneMet and $gym.level gte 5 and not $town.tysoneWorkoutDone>>
<<goto "Park Tysone Workout">>
<</if>>
<<if $town.tysoneMet and $town.tysoneWorkoutDone and $gym.level gte 10 and not $town.tysoneHelpDone>>
<<goto "Park Tysone Help">>
<</if>>
<<if $town.tysoneHelpDone and $gym.level gte 15 and not $town.gymIntroDone>>
<<goto "Park Gym Offer">>
<</if>>
/* One-shot: 40% chance to meet Tysone (original P2D52) while jogging.
Event passage applies the same workout cost so we don't double-count. */
<<if not $town.tysoneMet and random(1, 100) lte 40>>
<<goto "Park Tysone Meet">>
<</if>>
<<set _gres to setup.fitnessLevelUp(1)>>
<<set $today.parkJogged to true>>
<<run setup.advanceTime(1)>>
<img src="Images/Day 5/sports1.jpg" alt="">
<p>Daisy starts running in her sports dress, settling into a steady pace along the park path. With each run, the route she watched the jogger take feels more familiar.</p>
<<speech "Daisy">>Okay. This is actually working.<</speech>>
<<if _gres.leveled>>
<<toast "Fitness +1 — Level " + _gres.level + " (" + setup.gymRankName(_gres.level) + ")">>
<<else>>
<<toast "Solid run — Fitness max">>
<</if>>
[[Leave|Town Map]]
/* ═══════════════════════════════════════════
P2D52 — meet Tysone while jogging (once, 40% per jog until it fires).
═══════════════════════════════════════════ */<<set $world.location to "Town - Park">>
<<set _gres to setup.fitnessLevelUp(1)>>
<<set $today.parkJogged to true>>
<<run setup.advanceTime(1)>>
<p>Daisy begins with a few stretches, then settles into a steady jog along the park path.</p>
<img src="Images/Day 5/d58.gif" alt="">
<p>A tall, muscular man starts jogging beside her. She tries to focus on running, but keeps catching herself looking at his body.</p>
<img src="Images/Day 5/d59.jpg" alt="">
<p>After the run she claims a bench to cool down. A minute later, the same man sits down beside her.</p>
<<speech "Tysone">>Are you new here? I mean — I haven't seen you jogging here before.<</speech>>
<<speech "Daisy">>Yeah, I just decided to start.<</speech>>
<<speech "Tysone">>That's great. Jogging's good for you. By the way, I'm Tysone — gym trainer.<</speech>>
<<speech "Daisy">>Daisy. I work at Banana.<</speech>>
<<speech "Tysone">>Wow. How's it feel working for one of the bigger companies around?<</speech>>
<<speech "Daisy">>It… keeps things interesting. If you're a gym trainer, why train out here in the park?<</speech>>
<<speech "Tysone">>Because no treadmill beats jogging in nature. Haha.<</speech>>
<<speech "Daisy">>Fair enough. You come here every day around this time?<</speech>>
<<speech "Tysone">>Yup.<</speech>>
<p>They talk for a few more minutes. When Daisy finally stands to leave, Tysone's easy confidence sticks with her longer than she expected.</p>
<<set $town.tysoneMet to true>>
<<toast "Fitness: met Tysone" "good">>
<<if _gres.leveled>>
<<toast "Fitness +1 — Level " + _gres.level + " (" + setup.gymRankName(_gres.level) + ")">>
<<else>>
<<toast "Solid run — Fitness max">>
<</if>>
[[Leave|Town Map]]
/* ═══════════════════════════════════════════
P2D6 → P3D6 → P4D6 — train with Tysone after Fitness 5.
═══════════════════════════════════════════ */<<set $world.location to "Town - Park">>
<<if not $town.tysoneMet or $gym.level lt 5 or $town.tysoneWorkoutDone>>
<<goto "Town Park">>
<</if>>
<<if $wardrobe.current isnot "gym">>
<<goto "Town Park Jog Blocked">>
<</if>>
<<if $today.parkJogged>>
<<goto "Town Park Jog Done">>
<</if>>
<<set _gres to setup.fitnessLevelUp(1)>>
<<set $today.parkJogged to true>>
<<run setup.advanceTime(1)>>
<p>Daisy heads to the park for her exercise routine and spots Tysone already mid-workout.</p>
<img src="Images/Day 6/d65.webp" alt="">
<<speech "Tysone">>Oh — hey Daisy! How are you?<</speech>>
<<speech "Daisy">>I'm fine, Tysone.<</speech>>
<<speech "Tysone">>You should join me. I just started.<</speech>>
<<speech "Daisy">>Sure. I'm already geared up.<</speech>>
<<speech "Daisy">>Let's start.<</speech>>
<p>They stretch together, then Tysone walks her through push-ups. Mid-set, his shorts shift — and something very large slips free.</p>
<img src="Images/Day 6/d66.gif" alt="">
<<speech "Daisy">>(What the fuck— do dicks like that actually exist? I shouldn't look.)<</speech>>
<p>She tries to look away but can't. She's never seen anything like it up close. Before she knows it, she's biting her lower lip and growing warm and wet.</p>
<img src="Images/Day 6/d67.gif" alt="">
<p>A dark spot blooms on her sports pants. Embarrassed, she bolts for the park ladies' room.</p>
<<if _gres.leveled>>
<<toast "Fitness +1 — Level " + _gres.level + " (" + setup.gymRankName(_gres.level) + ")">>
<<else>>
<<toast "Solid run — Fitness max">>
<</if>>
[[Park toilet|Park Tysone Toilet]]<<set $world.location to "Town - Park">>
<<speech "Daisy">>What the hell was that? God — I need a release. Now.<</speech>>
<div id="can">
<<link "Think about James">><<replace "#can">>
<<stat "player.loveJames" 2>>
<img src="Images/Day 6/d68.gif" alt="">
<<speech "Daisy">>Ahh…<</speech>>
<img src="Images/Day 6/d69.gif" alt="">
<<speech "Daisy">>I really needed that. Now I can get back to the workout.<</speech>>
[[Leave|Park Tysone Workout End]]
<</replace>><</link>>
<<link "Think about what she just saw">><<replace "#can">>
<<stat "player.corruption" 1>>
<img src="Images/Day 6/d610.webp" alt="">
<<speech "Daisy">>Ahh…<</speech>>
<img src="Images/Day 6/d69.gif" alt="">
<<speech "Daisy">>What is wrong with me — getting off thinking about a dick that isn't my husband's… I don't even know what I'm doing.<</speech>>
<<speech "Daisy">>I should rejoin Tysone and finish the workout.<</speech>>
[[Leave|Park Tysone Workout End]]
<</replace>><</link>>
</div><<set $world.location to "Town - Park">>
<<stat "player.corruption" 1>>
<<speech "Tysone">>Where'd you go so fast?<</speech>>
<<speech "Daisy">>I had an urgent… call. Let's get back to training.<</speech>>
<<speech "Tysone">>Yeah.<</speech>>
<p>They finish the workout without mentioning what happened earlier. Daisy says goodbye and leaves the park, still flushed from more than the exercise.</p>
<<set $town.tysoneWorkoutDone to true>>
<<toast "Fitness: trained with Tysone" "good">>
[[Leave|Town Map]]
/* ═══════════════════════════════════════════
Fitness 10 — Tysone helps with form (custom).
Videos: Images/Gym_route/fit_10/ (autoplay + loop).
═══════════════════════════════════════════ */<<set $world.location to "Town - Park">>
<<if not $town.tysoneMet or not $town.tysoneWorkoutDone or $gym.level lt 10 or $town.tysoneHelpDone>>
<<goto "Town Park">>
<</if>>
<<if $wardrobe.current isnot "gym">>
<<goto "Town Park Jog Blocked">>
<</if>>
<<if $today.parkJogged>>
<<goto "Town Park Jog Done">>
<</if>>
<<set _gres to setup.fitnessLevelUp(1)>>
<<set $today.parkJogged to true>>
<<run setup.advanceTime(1)>>
<p>Daisy finds Tysone already on the grass near the path, rolling out his shoulders. He grins the moment he sees her — the easy, confident smile of someone who trains people for a living.</p>
<<speech "Tysone">>There she is. You've gotten stronger since last time.<</speech>>
<<speech "Daisy">>I've been showing up. That has to count for something.<</speech>>
<<speech "Tysone">>It does. Come on — let's work on your form today. Stretch first, then I'll put you through a real set.<</speech>>
<p>They ease into a warm-up. Tysone shows her a lunge, then steps behind her to check her posture.</p>
<video src="Images/Gym_route/fit_10/helpin1.mp4" autoplay muted loop playsinline></video>
<<speech "Tysone">>Your hips are drifting. Here — let me help.<</speech>>
<p>His hands settle at her waist, firm and sure, guiding her stance. One palm slides a fraction lower than it needs to, fingers pressing through the thin fabric of her sports dress as he adjusts her posture from behind.</p>
<<speech "Tysone">>Hold it there. Feel that? That's the position you want.<</speech>>
<p>His touch feels deliberate, and he's standing very close. Daisy's pulse quickens as she decides whether to move his hand away.</p>
<div id="can">
<<link "Remove his hand">><<replace "#can">>
<<set $town.tysoneHelpChoice to "remove">>
<<stat "player.loveJames" 2>>
<p>Daisy catches his wrist and eases it back to a safer place on her side — polite, but clear.</p>
<<speech "Daisy">>I can manage from here. Thanks.<</speech>>
<<speech "Tysone">>…Alright. Fair enough. Keep the angle, though — you're almost there.<</speech>>
<p>He steps back a half-pace, professional again, and finishes the correction with words instead of hands. She feels relieved and proud of herself. Thinking of James helps her feel sure she made the right choice.</p>
<video src="Images/Gym_route/fit_10/helping2.mp4" autoplay muted loop playsinline></video>
<p>They finish the set with cleaner form and more space between them. When the session ends, Tysone offers a fist-bump instead of a hug.</p>
<<speech "Tysone">>Good work today. Same time next week if you want.<</speech>>
<<speech "Daisy">>Maybe. See you around.<</speech>>
<<set $town.tysoneHelpDone to true>>
<<if _gres.leveled>>
<<toast "Fitness +1 — Level " + _gres.level + " (" + setup.gymRankName(_gres.level) + ")">>
<<else>>
<<toast "Solid run — Fitness max">>
<</if>>
<<toast "Fitness: trained with Tysone" "good">>
[[Leave|Town Map]]
<</replace>><</link>>
<<link "Let him keep helping">><<replace "#can">>
<<set $town.tysoneHelpChoice to "allow">>
<<stat "player.corruption" 1>>
<<stat "player.loveJames" -1>>
<p>Daisy leaves his hand where it is. She tells herself he's only helping her posture, even as her face grows warm and her breathing quickens.</p>
<<speech "Daisy">>…Like this?<</speech>>
<<speech "Tysone">>Yeah. Just like that. I've got you.<</speech>>
<video src="Images/Gym_route/fit_10/helping2.mp4" autoplay muted loop playsinline></video>
<p>He keeps guiding her through the next reps, palms lingering longer than any trainer needs, thumbs tracing small adjustments that feel less like instruction and more like exploration. Daisy finishes the set flushed, legs unsteady for reasons that have nothing to do with muscle burn.</p>
<<speech "Tysone">>See? Much better when you stop fighting the help.<</speech>>
<<speech "Daisy">>I… should go.<</speech>>
<<speech "Tysone">>Sure. Don't be a stranger, Daisy.<</speech>>
<p>She leaves the park with her sports dress clinging to her skin. The exercise is over, but she still feels flushed and guilty. When she thinks of James, she tries to push the thought away.</p>
<<set $town.tysoneHelpDone to true>>
<<if _gres.leveled>>
<<toast "Fitness +1 — Level " + _gres.level + " (" + setup.gymRankName(_gres.level) + ")">>
<<else>>
<<toast "Solid run — Fitness max">>
<</if>>
<<toast "Fitness: trained with Tysone" "good">>
[[Leave|Town Map]]
<</replace>><</link>>
</div>
/* ═══════════════════════════════════════════
PD9 — Fitness 15: Tysone pitches the gym + membership ($40).
Continues into GD9 / G2D9 in gym.twee.
═══════════════════════════════════════════ */<<set $world.location to "Town - Park">>
<<if not $town.tysoneHelpDone or $gym.level lt 15 or $town.gymIntroDone>>
<<goto "Town Park">>
<</if>>
<<if $wardrobe.current isnot "gym">>
<<goto "Town Park Jog Blocked">>
<</if>>
<<if $today.parkJogged>>
<<goto "Town Park Jog Done">>
<</if>>
<p>Daisy arrives for her usual workout and finds Tysone already mid-set, sweat darkening his shirt. He spots her and jogs over with that same easy grin.</p>
<img src="Images/Day 6/d65.webp" alt="">
<<speech "Tysone">>Hey, Daisy. You're looking stronger.<</speech>>
<<speech "Daisy">>Thanks. I've been putting in the work.<</speech>>
<<speech "Tysone">>Don't you think it's time you hit a real gym?<</speech>>
<<speech "Daisy">>I want to… memberships aren't cheap, and money's been tight.<</speech>>
<<speech "Tysone">>I'm a trainer there. I can get you a discount — forty a month if you join through me.<</speech>>
<<speech "Daisy">>Really?<</speech>>
<<speech "Tysone">>Yeah. Want to come see the place? First session's with me if you sign up.<</speech>>
<<if $player.money gte setup.GYM_MEMBERSHIP_COST>>
<<speech "Daisy">>Okay. I can swing forty.<</speech>>
<<speech "Tysone">>Perfect. Let's go.<</speech>>
[[Go to the gym ($40 membership)|Gym Intro Visit]]
<<else>>
<<speech "Daisy">>Forty… I don't have that on me right now.<</speech>>
<<speech "Tysone">>No rush. Come find me here when you've got it — offer stands.<</speech>>
<p>She finishes a short jog alone, still thinking about the gym she nearly got to join.</p>
<<set _gres to setup.fitnessLevelUp(1)>>
<<set $today.parkJogged to true>>
<<run setup.advanceTime(1)>>
<<if _gres.leveled>>
<<toast "Fitness +1 — Level " + _gres.level + " (" + setup.gymRankName(_gres.level) + ")">>
<<else>>
<<toast "Solid run — Fitness max">>
<</if>>
[[Leave|Town Map]]
<</if>><<set $world.location to "Town - Photo Studio">>
<<if not $quests.photoshoot>>
<p>The studio doors are locked. She has no reason to be here.</p>
[[Leave|Town Map]]
<<elseif $office.photoshoot2Done>>
<<goto "Photo Studio Bookings">>
/* PHD9 — first shoot done + James reunion done + Sunday. */
<<elseif $office.photoshootDone and not $office.photoshoot2Done and $sophia.reunionDone and setup.dayName() is "Sunday">>
<<goto "Photo Studio PHD9">>
<<elseif $office.photoshootDone and not $office.photoshoot2Done>>
<<= setup.locBannerHtml("photostudio")>>
<p>The studio is full of lights and backdrops and smells faintly of hair gel and coffee. Daisy has no booking today.</p>
<<if not $sophia.reunionDone>>
<p class="scene-meta">Photoshoot Notes: continue the <strong>James</strong> quest (college reunion) first. After that, return on a <strong>Sunday</strong>.</p>
<<else>>
<p class="scene-meta">Photoshoot Notes: come back on <strong>Sunday</strong> for the next shoot.</p>
<</if>>
[[Leave|Town Map]]
<<elseif not $office.photoshootMsgSent>>
<<= setup.locBannerHtml("photostudio")>>
<p>The studio is open, but no one is expecting her yet. Steve said they'd reach out when it was time.</p>
<p class="scene-meta">Wait for a message. Notes say it should arrive in three days.</p>
[[Leave|Town Map]]
<<elseif not $office.photoshootMsgRead>>
<<= setup.locBannerHtml("photostudio")>>
<p>Someone's waiting inside… but Daisy's phone is still buzzing with an unread text. She should read it first.</p>
<p class="scene-meta">Open Messages — Sergio texted about today.</p>
[[Leave|Town Map]]
<<else>>
/* Message read, first session not done → P3D8. */
<<goto "Photo Studio P3D8">>
<</if>>
/* ═══════════════════════════════════════════
P3D8 — first booked session after Sergio's text.
═══════════════════════════════════════════ */<<set $world.location to "Town - Photo Studio">>
<p>Daisy enters the studio, eager for her shoot, but stops at an open door. Inside, a woman poses naked while the camera clicks. She hadn't expected to see this.</p>
<img src="Images/photostudio/photoshoot1.gif" alt="">
<<speech "Daisy">>(Am I in the right place? Do I have to do… this?)<</speech>>
<p>Should Daisy keep watching?</p>
<<if $player.corruption gte 13>>
[[Yes — keep watching|Photo Studio Watch Yes]]
<<else>>
<p class="scene-meta" style="color:#c45c6a;">Need more Corruption to keep watching.</p>
<</if>>
[[No — look away|Photo Studio Man]]<<stat "player.corruption" 1>>
<img src="Images/photostudio/photoshoot3.gif" alt="">
<<speech "Daisy">>(Damn… she has perfect tits.)<</speech>>
<img src="Images/photostudio/photoshoot2.webp" alt="">
<p>A man's voice cuts in behind her.</p>
[[Continue|Photo Studio Man]]<<set $world.location to "Town - Photo Studio">>
<<speech "Guy">>Hey — are you Daisy?<</speech>>
<<speech "Daisy">>Yes. I'm here for the photoshoot.<</speech>>
<<speech "Guy">>(Her body is just as Steve described.) Right, Steve told me about you. Your outfit is in that room. Go and change, please.<</speech>>
[[Dressing room|Photo Studio Dressing]]<<set $world.location to "Town - Photo Studio - Dressing">>
<img src="Images/photostudio/photo0.gif" alt="">
<<speech "Daisy">>(I'm relieved this dress isn't too revealing. I can wear something like this and still earn some income.)<</speech>>
[[Onto the set|Photo Studio Shoot]]<<set $world.location to "Town - Photo Studio - Set">>
<<speech "Guy">>You look gorgeous. Camera's ready — start posing.<</speech>>
<img src="Images/photostudio/photo1.gif" alt="">
<<speech "Guy">>Great job, Daisy. Excellent work. Here's your fee.<</speech>>
<<set $player.money += 100>>
<div class="fading-text fade-animation">Money +$100</div>
<<speech "Daisy">>(One hundred dollars… just for a photoshoot.)<</speech>>
<<speech "Guy">>Steve only booked one session, but after seeing you I think you should pursue this further.<</speech>>
<<speech "Daisy">>I… enjoyed it more than I expected. I'd like some time to think about more work.<</speech>>
<<speech "Guy">>No problem. My studio door's always open.<</speech>>
<<set $office.photoshootDone to true>>
<<set $office.photoshootPending to false>>
/* PHD9 arms via James college reunion + Sunday (no day-timer). */
/* Main quest continues: 3 sleeps after Sergio's studio session → Christine
texts about the houseparty (see day-loop / getMainQuestNotes). */
<<if $office.partyWaitSleeps is -1 and not $office.partyMsgSent and not $office.partyDone>>
<<set $office.partyWaitSleeps to 3>>
<</if>>
<<run setup.advanceTime(1)>>
[[Leave|Photo Studio After]]<<set $world.location to "Town">>
<p>Outside the studio, Daisy feels a rush of excitement. She has earned a hundred dollars just for posing, and the shoot was easier than she expected.</p>
<<speech "Daisy">>(I didn't know I could get paid that much… and it wasn't that hard. I might come back.)<</speech>>
[[Town Map|Town Map]]
/* ═══════════════════════════════════════════
PHD9 — second studio session (Sunday after college reunion).
Original: PHD9 → DD9 (Sophia waterpark text + dress) → Studio ($140)
→ HD9 home confrontation. See james-waterpark.twee / HD9.
═══════════════════════════════════════════ */<<set $world.location to "Town - Photo Studio">>
<p>Daisy arrives at the photo studio and is greeted by the same man from her first shoot.</p>
<<speech "Guy">>Hello, Daisy. We've placed your dress in the changing room. Please get dressed quickly and come out for the photoshoot.<</speech>>
<<speech "Daisy">>Okay.<</speech>>
[[Get dressed|Photo Studio PHD9 Dress]]<<set $world.location to "Town - Photo Studio - Dressing">>
<p>In the dressing room, Daisy is about to check the dress when her phone buzzes.</p>
<img src="Images/Day 14/d145.png" alt="">
<<speech "Daisy">>(WHAT!! James and Sophia went to the waterpark?)<</speech>>
<p>She forces herself to put the message aside and focus on work. The dress is more revealing than she expected.</p>
<img src="Images/Day 14/d146.jpg" alt="">
<<speech "Daisy">>No, no, no. I can't wear this. What if James finds out? But if he's getting close to Sophia, then I have the right to do what I want. I will wear this outfit.<</speech>>
<<stat "player.corruption" 1>>
[[Onto the set|Photo Studio PHD9 Shoot]]<<set $world.location to "Town - Photo Studio - Set">>
<p>As she walks out in the revealing outfit, everyone turns to look. Their surprise and open stares make her uneasy.</p>
<<speech "Guy">>Oh my goodness, Daisy — you look amazing. Come over here and start posing.<</speech>>
<<speech "Daisy">>Thank you so much.<</speech>>
<p>She takes her place and poses for the camera, trying to look calm despite her racing heart.</p>
<img src="Images/Day 14/d147.jpg" alt="">
<img src="Images/Day 14/d148.jpg" alt="">
<img src="Images/Day 14/d149.jpg" alt="">
<<speech "Guy">>Wonderful! That was fantastic. Here's your payment.<</speech>>
<<speech "Daisy">>(One hundred forty dollars… I love this job.) Thank you so much.<</speech>>
<<speech "Guy">>It's our pleasure to work with someone so attractive.<</speech>>
<<speech "Daisy">>Haha — thanks. I should leave now.<</speech>>
<<set $player.money += 140>>
<div class="fading-text fade-animation">Money +$140</div>
<<set $office.photoshoot2Done to true>>
<<set $world.time to "Evening">>
<p class="scene-meta">She's finished for the day and can head home, still upset about the waterpark message.</p>
[[Go home|James Waterpark Home]]
/* ═══════════════════════════════════════════════════════════
WEEKLY BOOKINGS — after PHD9. Wednesday + Sunday, one shoot
per day. Lookbook always; Glamour Corr 20; Erotic (bikini) after Henry.
═══════════════════════════════════════════════════════════ */<<set $world.location to "Town - Photo Studio">>
<<= setup.locBannerHtml("photostudio")>>
<<if $today.photoShootDone>>
<p>The studio smells faintly of hair gel and coffee. Daisy looks past the lights and backdrops, but she's already finished her shoot today.</p>
<<speech "Guy">>That's your shoot done. See you next time, on Wednesday or Sunday.<</speech>>
[[Leave|Town Map]]
<<elseif not setup.isPhotoShootDay()>>
<p>The studio is open, but she has no booking today. Her shoots are twice a week.</p>
<<speech "Guy">>Daisy — I can take you Wednesday or Sunday. Come back then and we'll pick a set.<</speech>>
<p class="scene-meta">Bookings: <strong>Wednesday</strong> and <strong>Sunday</strong>. One session each.</p>
[[Leave|Town Map]]
<<else>>
<p>The same photographer waves her in. A rack of outfits has already been set aside for her.</p>
<<speech "Guy">>We've got a slot. What do you want to shoot?<</speech>>
<<if $office.photoBikiniDone and not $office.photoDay19Done>>
<p class="scene-meta">Next erotic booking is Christine's set (David on camera).</p>
<<elseif $office.photoEroticUnlocked and not $office.photoBikiniDone>>
<p class="scene-meta">Book an Erotic shoot first (Henry's bikini). Christine's set is the one after that.</p>
<<elseif setup.photoHenryReady()>>
<p class="scene-meta">Henry is waiting — that booking unlocks Erotic.</p>
<<elseif $office.photoPd15Done and not $office.photoEroticUnlocked>>
<p class="scene-meta">Glamour sessions after Henry's offer: <<= Number($office.photoGlamourAfter) || 0>> / <<= setup.PHOTO_GLAMOUR_BEFORE_HENRY>>. Then he calls you in.</p>
<</if>>
<p><strong>Lookbook</strong> — simple fashion photos for a catalog, with clothes James would be happy with. $<<= setup.PHOTO_LOOKBOOK_PAY>>.</p>
<<link `"Lookbook — $" + setup.PHOTO_LOOKBOOK_PAY` "Photo Studio Lookbook">><</link>>
<<if setup.photoHenryReady()>>
<p><strong>Henry</strong> wants her in his office. The lingerie offer is still open.</p>
[[Henry asked to see you|Photo Studio Henry Peek]]
<<elseif $player.corruption gte setup.PHOTO_GLAMOUR_CORR and not $office.photoPd15Done>>
<p><strong>Glamour</strong> — he's been waiting on her for this set.</p>
<<link `"Glamour — $" + setup.PHOTO_PD15_PAY` "Photo Studio Glamour Start">><</link>>
<<elseif $player.corruption gte setup.PHOTO_GLAMOUR_CORR>>
<p><strong>Glamour</strong> — lingerie under soft lights, for a cover meant to draw attention. $<<= setup.PHOTO_GLAMOUR_PAY>>.</p>
<<link `"Glamour — $" + setup.PHOTO_GLAMOUR_PAY` "Photo Studio Glamour Start">><</link>>
<<else>>
<p class="scene-meta">Glamour — $<<= setup.PHOTO_GLAMOUR_PAY>> (need Corruption <<= setup.PHOTO_GLAMOUR_CORR>>)</p>
<</if>>
<<if setup.photoEroticOpen() and $office.photoBikiniDone and not $office.photoDay19Done>>
<p><strong>Erotic shoot</strong> — Christine has booked the studio, with David taking the photos. $<<= setup.PHOTO_EROTIC_PAY>>.</p>
<<link `"Erotic shoot — $" + setup.PHOTO_EROTIC_PAY` "Photo Studio Day19">><</link>>
<<elseif setup.photoEroticOpen()>>
<p><strong>Erotic shoot</strong> — Henry's bikini set: pink, red outdoors, and yellow with a flower. $<<= setup.PHOTO_EROTIC_PAY>>.</p>
<<link `"Erotic shoot — $" + setup.PHOTO_EROTIC_PAY` "Photo Studio Erotic">><</link>>
<<else>>
<p class="scene-meta">Erotic shoot — $<<= setup.PHOTO_EROTIC_PAY>> (unlocked after Henry's erotic booking)</p>
<</if>>
[[Not today|Town Map]]
<</if>><<set $world.location to "Town - Photo Studio - Set">>
<<set $today.photoShootDone to true>>
<<set $office.lastPhotoKind to "lookbook">>
<<set $office.lastPhotoPay to setup.PHOTO_LOOKBOOK_PAY>>
<p>He hands her a simple dress for the fashion catalog. It looks good without showing too much.</p>
<img src="Images/photostudio/photo0.gif" alt="">
<<speech "Guy">>These are for a catalog. Smile, turn, and hold the pose. Keep it natural.<</speech>>
<p>She poses in the marked spots, looking good on camera without taking her clothes off.</p>
<img src="Images/photostudio/photo1.gif" alt="">
<<speech "Guy">>That's the set finished. These should sell well. Here's your fee.<</speech>>
<<set $player.money += setup.PHOTO_LOOKBOOK_PAY>>
<div class="fading-text fade-animation">Money +$<<= setup.PHOTO_LOOKBOOK_PAY>></div>
<<run setup.advanceTime(1)>>
[[Leave|Town Map]]<<if not $office.photoPd15Done>>
<<goto "Photo Studio PD15">>
<<elseif setup.photoHenryReady()>>
<<goto "Photo Studio Henry Peek">>
<<else>>
<<goto "Photo Studio Glamour">>
<</if>><<set $world.location to "Town - Photo Studio - Set">>
<<set $today.photoShootDone to true>>
<<set $office.lastPhotoKind to "glamour">>
<<set $office.lastPhotoPay to setup.PHOTO_GLAMOUR_PAY>>
<<set $office.photoGlamourAfter to (Number($office.photoGlamourAfter) || 0) + 1>>
<p>This time, silk outfits with thin straps fill the rack. Her dress barely covers her.</p>
<img src="Images/Day 14/d146.jpg" alt="">
<<speech "Guy">>It's a glamour cover. Show your hips, part your lips, and look bold. Don't hide.<</speech>>
<p>She moves through the marked spots, each pose showing a little more skin.</p>
<img src="Images/Day 14/d147.jpg" alt="">
<img src="Images/Day 14/d148.jpg" alt="">
<img src="Images/Day 14/d149.jpg" alt="">
<p>He lowers the camera.</p>
<<speech "Guy">>Good. That's the look the client wanted. Here's your fee.<</speech>>
<<set $player.money += setup.PHOTO_GLAMOUR_PAY>>
<div class="fading-text fade-animation">Money +$<<= setup.PHOTO_GLAMOUR_PAY>></div>
<<run setup.advanceTime(1)>>
[[Leave|Town Map]]
/* ═══════════════════════════════════════════════════════════
Erotic shoot — original PD17 / N2D17 / N3D17 Henry bikini set.
Unlocks after Day 16 table booking. Pay $300.
Images: Day 17/9.webp, 8.webp, 10.webp.
═══════════════════════════════════════════════════════════ */<<if $office.photoBikiniDone and not $office.photoDay19Done>>
<<goto "Photo Studio Day19">>
<<else>>
<<goto "Photo Studio Erotic Bikini">>
<</if>><<set $world.location to "Town - Photo Studio">>
<<set $today.photoShootDone to true>>
<<set $office.lastPhotoKind to "erotic">>
<p>Henry meets her at the door, already talking.</p>
<<speech "Henry">>Daisy — good. Today is a bikini set. You up for it?<</speech>>
<<speech "Daisy">>Absolutely. Let's do it.<</speech>>
<p>In the changing room, she picks a pink bikini with a top that barely covers her.</p>
[[Pink bikini|Photo Studio Erotic Pink]]<<set $world.location to "Town - Photo Studio - Set">>
<p>She steps into the marked spot and smiles. Henry fixes the lights.</p>
<img src="Images/Day 17/9.webp" alt="">
<<speech "Henry">>Perfect. Just like that. Big smile.<</speech>>
<p>She holds her pose, the tiny pink top leaving most of her chest bare.</p>
[[Next|Photo Studio Erotic Red]]<p>They move outside among the trees. She changes into a red bikini that draws attention to her cleavage.</p>
<<speech "Henry">>Natural light. Show me that cleavage.<</speech>>
<p>She holds the pose, feeling the warm sun on her skin.</p>
<<speech "Henry">>Fantastic. Hold.<</speech>>
<img src="Images/Day 17/8.webp" alt="">
[[Next|Photo Studio Erotic Yellow]]<p>For the final look, she wears a yellow bikini and a flower in her hair. She stands among the trees and closes her eyes.</p>
<<speech "Henry">>Beautiful. Keep your eyes closed so the flower draws the eye.<</speech>>
<p>She keeps her eyes closed, looking calm for the camera.</p>
<<speech "Henry">>Excellent. Hold… perfect.<</speech>>
<img src="Images/Day 17/10.webp" alt="">
<p>By the last shot, she feels tired but proud. She chose to try this, and she saw it through.</p>
<<speech "Henry">>That's the shoot finished. Here's your fee.<</speech>>
<<set $office.lastPhotoPay to setup.PHOTO_EROTIC_PAY>>
<<set $office.photoBikiniDone to true>>
<<set $player.money += setup.PHOTO_EROTIC_PAY>>
<div class="fading-text fade-animation">Money +$<<= setup.PHOTO_EROTIC_PAY>></div>
<<run setup.advanceTime(1)>>
[[Leave|Town Map]]
/* ═══════════════════════════════════════════════════════════
Second Erotic booking — original ND19 / ND219.
Christine directs, David shoots, dildo + flash. Images: Day 18/13–15.
═══════════════════════════════════════════════════════════ */<<set $world.location to "Town - Photo Studio - Set">>
<<set $today.photoShootDone to true>>
<<set $office.lastPhotoKind to "erotic">>
<p>Daisy stands before a white backdrop, tugging at her blouse under the studio lights. Christine brought her here, and David is taking the photos. He quietly checks the camera's focus while they get ready.</p>
<<speech "Christine">>Alright, Daisy. Let's get started.<</speech>>
<<speech "Christine">>You're doing great so far. Follow my lead and it'll be fine.<</speech>>
<p>Daisy nods. She takes a breath.</p>
<<speech "Christine">>Now hold this.<</speech>>
<p>Christine puts a large dildo in her hands. Daisy hesitates, then takes the weight of it.</p>
<<speech "Christine">>Both hands. Firm. Like this — arms straight, elbows soft, close to your body.<</speech>>
<p>Daisy copies her.</p>
<<speech "David">>Perfect. Hold it right there.<</speech>>
<img src="Images/Day 18/13.jpg" alt="">
<p>The camera clicks. Christine slowly walks around Daisy and stops behind her.</p>
<<speech "Christine">>Good. For the next shot, give them a glimpse of your tits while you hold it.<</speech>>
<p>Daisy's face grows hot. She leans forward and moves her top aside, baring one breast. The cool air on her skin makes her pulse quicken.</p>
<<speech "David">>Yes. That's it. Hold it just like that.<</speech>>
<img src="Images/Day 18/14.jpg" alt="">
<<speech "Christine">>You're doing great. One last pose.<</speech>>
<p>Daisy waits, not sure she wants the next instruction.</p>
<<speech "Christine">>Spread your legs a little. Still holding the dildo. Not wide — just enough that it looks like you meant it.<</speech>>
<p>She shifts her legs, feeling exposed but staying in place.</p>
<img src="Images/Day 18/15.jpg" alt="">
<<speech "David">>That's the shot. Perfect.<</speech>>
<p>David takes the last few photos. Christine claps once.</p>
<<speech "Christine">>Great job. You're done for today. See? Not so bad.<</speech>>
<<speech "Daisy">>Yeah… it wasn't that bad.<</speech>>
[[Next|Photo Studio Day19 End]]<p>David lowers the camera and nods without much expression. Christine steps in front of Daisy with her arms folded and a warm smile.</p>
<<speech "Christine">>You did a great job. Really. You handled everything.<</speech>>
<<speech "Daisy">>Thanks. I wasn't sure I could pull it off.<</speech>>
<<speech "Christine">>You nailed it. You're done. Go rest.<</speech>>
<<speech "Daisy">>Thanks, Christine.<</speech>>
<<speech "Christine">>Anytime. See you around.<</speech>>
<<set $office.lastPhotoPay to setup.PHOTO_EROTIC_PAY>>
<<set $office.photoDay19Done to true>>
<<set $player.money += setup.PHOTO_EROTIC_PAY>>
<div class="fading-text fade-animation">Money +$<<= setup.PHOTO_EROTIC_PAY>></div>
<<run setup.advanceTime(1)>>
[[Leave|Town Map]]
/* ═══════════════════════════════════════════════════════════
First Glamour — original PD15 + Henry lingerie offer (she declines).
Images: Day 15/13–15.jpg. Pay $140.
═══════════════════════════════════════════════════════════ */<<set $world.location to "Town - Photo Studio">>
<<set $today.photoShootDone to true>>
<<set $office.lastPhotoKind to "glamour">>
<<speech "Guy">>Hey — welcome, Daisy.<</speech>>
<<speech "Daisy">>Hello.<</speech>>
<<speech "Guy">>I was waiting for you. Change in the locker room and get ready for the shoot.<</speech>>
[[Ready for the shoot|Photo Studio PD15 Shoot]]<<set $world.location to "Town - Photo Studio - Set">>
<p>She steps out in the revealing outfit. Every man in the studio turns in surprise, then keeps staring.</p>
<<speech "Guy">>Oh my goodness, Daisy — you look amazing. Come over here and start posing.<</speech>>
<<speech "Daisy">>Thank you so much.<</speech>>
<p>She moves into place and poses for the camera, looking calm and sure of herself.</p>
<img src="Images/Day 15/13.jpg" alt="">
<img src="Images/Day 15/14.jpg" alt="">
<img src="Images/Day 15/15.jpg" alt="">
<<speech "Guy">>Wonderful. That was fantastic. Here's your payment.<</speech>>
<<speech "Daisy">>(One hundred forty dollars. I love this job.) Thank you so much.<</speech>>
<<speech "Guy">>It's our pleasure to work with someone so attractive.<</speech>>
<<speech "Daisy">>Haha. Thanks. I should leave now.<</speech>>
<<set $office.lastPhotoPay to setup.PHOTO_PD15_PAY>>
<<set $player.money += setup.PHOTO_PD15_PAY>>
<div class="fading-text fade-animation">Money +$<<= setup.PHOTO_PD15_PAY>></div>
<p>She's about to go when someone calls her name.</p>
<<speech "Guy">>Daisy — wait.<</speech>>
<<speech "Daisy">>Yes?<</speech>>
<<speech "Guy">>Boss wants to talk to you.<</speech>>
<<speech "Daisy">>Okay. I'll see him.<</speech>>
[[Henry's office|Photo Studio PD15 Offer]]<<set $world.location to "Town - Photo Studio">>
<<set $office.photoPd15Done to true>>
<<speech "Daisy">>Yes, Henry? Did you call me?<</speech>>
<<speech "Henry">>Welcome, Daisy. Your photos have been selling really well. You can earn even more than that.<</speech>>
<<speech "Daisy">>Please, I'm not doing a nude shoot.<</speech>>
<<speech "Henry">>You don't have to. Just a photoshoot in lingerie.<</speech>>
<<speech "Daisy">>I'm not comfortable with that.<</speech>>
<<speech "Henry">>As you wish. The offer is always open. Have a good day.<</speech>>
<<speech "Daisy">>Bye.<</speech>>
<<run setup.advanceTime(1)>>
[[Leave|Town Map]]
/* ═══════════════════════════════════════════════════════════
After 3 more Glamour sessions — original Day 16 Photostudio / N2D16.
Peek BJ set, accept Henry's erotic booking, table poses, $200.
Unlocks repeatable Erotic shoot (bikini).
═══════════════════════════════════════════════════════════ */<<set $world.location to "Town - Photo Studio">>
<<set $today.photoShootDone to true>>
<<set $office.lastPhotoKind to "erotic">>
<p>The studio is busy. As Daisy walks through, she notices a partly open door and glances inside.</p>
<img src="Images/day 16/4.webp" alt="">
<p>A woman kneels in a porn shoot, taking a coworker into her mouth. Daisy's face grows hot, and she turns away to knock on Henry's door.</p>
[[Henry's room|Photo Studio Henry Accept]]<<speech "Henry">>Daisy! Come in. What can I do for you?<</speech>>
<p>Her pulse is still up from what she just saw.</p>
<<speech "Daisy">>Hi, Henry. I've decided to accept the offer. I'm ready to do the erotic photoshoot.<</speech>>
<<speech "Henry">>That's fantastic. I knew you had it in you. Let's start right now.<</speech>>
[[Next|Photo Studio Henry Table]]<<set $world.location to "Town - Photo Studio - Set">>
<p>Henry leads her to a table under soft lights. She sits down, feeling both nervous and excited.</p>
<<speech "Henry">>Relax. Let your natural beauty shine. First pose.<</speech>>
<p>She raises a hand to her cheek, resting her fingers lightly on her skin.</p>
<img src="Images/day 16/5.jpg" alt="">
<<speech "Henry">>Beautiful. Next.<</speech>>
<p>She draws her knees up, turns, and arches her back to show her ass, keeping her hands on the table.</p>
<img src="Images/day 16/6.jpg" alt="">
<<speech "Henry">>Excellent. One more.<</speech>>
<p>She plants both hands on the table and holds the pose.</p>
<img src="Images/day 16/7.jpg" alt="">
<<speech "Henry">>That was amazing. These are going to be stunning.<</speech>>
<<speech "Daisy">>Thank you, Henry. It was actually kind of fun.<</speech>>
<<speech "Henry">>You're a natural. Keep it up. Erotic bookings are open now — bikini sets, Wednesday or Sunday.<</speech>>
<<set $office.lastPhotoPay to setup.PHOTO_HENRY_PAY>>
<<set $office.photoEroticUnlocked to true>>
<<set $player.money += setup.PHOTO_HENRY_PAY>>
<div class="fading-text fade-animation">Money +$<<= setup.PHOTO_HENRY_PAY>></div>
<<run setup.advanceTime(1)>>
<p>She leaves the studio still flushed from the shoot, knowing she chose to take this step.</p>
[[Leave|Town Map]]<<set $world.location to "Town">>
/* Do NOT advance time on entering town — leaving Home is free. */
<<set $today.wentOutside to true>>
<<= setup.locBannerHtml("town")>>
<<if $world.time is "Night">>
<p>The streets are quiet and the shops are dark. It's getting late, so Daisy should head home.</p>
<div class="loc-grid">
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Home</span><span class="loc-sub">Head back</span></span>' "House Map">><</link>>
</div>
<<else>>
<p>Cars hum along the streets beneath tall, colorful buildings. Between them, a busy park offers a patch of green and a place to take a break.</p>
<div class="loc-grid">
/* Mall */
<<if $town.storeDone>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Mall</span><span class="loc-sub">Already visited</span></span>' "Mall">><</link>>
<<else>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Mall</span><span class="loc-sub">Buy an office outfit</span></span>' "Mall">><</link>>
<</if>>
/* Park — jogger → sports dress + jogging; Fit 5 / 10 / 15 Tysone beats */
<<if not $town.parkDone>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Park</span><span class="loc-sub">Get some air</span></span>' "Town Park">><</link>>
<<elseif $town.tysoneHelpDone and $gym.level gte 15 and not $town.gymIntroDone and $wardrobe.current is "gym" and not $today.parkJogged>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Park</span><span class="loc-sub">Tysone — gym offer</span></span>' "Town Park">><</link>>
<<elseif $town.tysoneMet and $gym.level gte 10 and $town.tysoneWorkoutDone and not $town.tysoneHelpDone and $wardrobe.current is "gym" and not $today.parkJogged>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Park</span><span class="loc-sub">Train with Tysone</span></span>' "Town Park">><</link>>
<<elseif $town.tysoneMet and $gym.level gte 5 and not $town.tysoneWorkoutDone and $wardrobe.current is "gym" and not $today.parkJogged>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Park</span><span class="loc-sub">Train with Tysone</span></span>' "Town Park">><</link>>
<<elseif $town.gymClothesBought and $wardrobe.current is "gym" and not $today.parkJogged>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Park</span><span class="loc-sub">Jog / relax</span></span>' "Town Park">><</link>>
<<elseif $town.gymClothesBought>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Park</span><span class="loc-sub">Jog in sports dress</span></span>' "Town Park">><</link>>
<<else>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Park</span><span class="loc-sub">Relax / buy sportswear</span></span>' "Town Park">><</link>>
<</if>>
/* Cafe */
<<if not $quests.cafeJob>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Cafe</span><span class="loc-sub">Ask about work?</span></span>' "Town Cafe">><</link>>
<<elseif $today.cafeShiftDone>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Cafe</span><span class="loc-sub">Already worked today</span></span>' "Town Cafe">><</link>>
<<elseif setup.cafeFirstFloorReady()>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Cafe</span><span class="loc-sub">First-floor offer</span></span>' "Town Cafe">><</link>>
<<else>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Cafe</span><span class="loc-sub">Work a shift</span></span>' "Town Cafe">><</link>>
<</if>>
/* Gym — unlocked Fit 15 (PD9/GD9); Fit 25 GD10 kiss beat */
<<if $town.gymUnlocked>>
<<if not $town.gymMembership>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Gym</span><span class="loc-sub">Membership required</span></span>' "Town Gym">><</link>>
<<elseif $today.gymDone>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Gym</span><span class="loc-sub">Already trained today</span></span>' "Town Gym">><</link>>
<<elseif $wardrobe.current isnot "gym">>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Gym</span><span class="loc-sub">Wear sports dress</span></span>' "Town Gym">><</link>>
<<elseif $town.gymIntroDone and $gym.level gte 25 and not $town.gymKissDone>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Gym</span><span class="loc-sub">Train with Tysone</span></span>' "Town Gym">><</link>>
<<else>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Gym</span><span class="loc-sub">Work out (+2 Fitness)</span></span>' "Town Gym">><</link>>
<</if>>
<</if>>
/* Office — only after mall dress; must be wearing it (or Jayden's uniform after blackmail) */
<<if $town.storeDone>>
<<if setup.isWeekend()>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Office</span><span class="loc-sub">Closed on weekends</span></span>' "Town Office">><</link>>
<<elseif $office.blackmailed and $wardrobe.current isnot "uniform">>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Office</span><span class="loc-sub">Wear the uniform</span></span>' "Town Office">><</link>>
<<elseif not $office.blackmailed and $wardrobe.current isnot "office">>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Office</span><span class="loc-sub">Wear office outfit</span></span>' "Town Office">><</link>>
<<else>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Office</span><span class="loc-sub">Banana Inc.</span></span>' "Town Office">><</link>>
<</if>>
<</if>>
/* Christine shopping — agreed on first day; stage 1, Evening only */
<<if $office.stage is 1 and $world.time is "Evening">>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Christine</span><span class="loc-sub">Evening shopping (planned)</span></span>' "Office Mall Invite">><</link>>
<</if>>
/* Max's house */
<<if $quests.max>>
<<if $today.maxTaught>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Max house</span><span class="loc-sub">Already tutored today</span></span>' "Max House">><</link>>
<<elseif setup.isTutorDay()>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Max house</span><span class="loc-sub">Tutor Max</span></span>' "Max House">><</link>>
<<else>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Max house</span><span class="loc-sub">Tue / Thu / Sat only</span></span>' "Max House">><</link>>
<</if>>
<</if>>
/* Photo Studio */
<<if $quests.photoshoot>>
<<if $office.photoshoot2Done and $today.photoShootDone>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Photo Studio</span><span class="loc-sub">Already shot today</span></span>' "Town Photo Studio">><</link>>
<<elseif $office.photoshoot2Done and setup.isPhotoShootDay()>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Photo Studio</span><span class="loc-sub">Book a shoot</span></span>' "Town Photo Studio">><</link>>
<<elseif $office.photoshoot2Done>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Photo Studio</span><span class="loc-sub">Wed / Sun bookings</span></span>' "Town Photo Studio">><</link>>
<<elseif $office.photoshootDone and $sophia.reunionDone and setup.dayName() is "Sunday" and not $office.photoshoot2Done>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Photo Studio</span><span class="loc-sub">Sunday shoot</span></span>' "Town Photo Studio">><</link>>
<<elseif $office.photoshootDone and not $office.photoshoot2Done>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Photo Studio</span><span class="loc-sub">After reunion / Sunday</span></span>' "Town Photo Studio">><</link>>
<<elseif $office.photoshootMsgRead and not $office.photoshootDone>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Photo Studio</span><span class="loc-sub">Shoot today</span></span>' "Town Photo Studio">><</link>>
<<elseif $office.photoshootMsgSent and not $office.photoshootMsgRead>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Photo Studio</span><span class="loc-sub">Check phone first</span></span>' "Town Photo Studio">><</link>>
<<elseif $office.photoshootPending>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Photo Studio</span><span class="loc-sub">Wait for message</span></span>' "Town Photo Studio">><</link>>
<<else>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Photo Studio</span><span class="loc-sub">Studio</span></span>' "Town Photo Studio">><</link>>
<</if>>
<</if>>
/* Exam study houses */
<<if $quests.studyDavid and not $office.studyVisitDone>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">David house</span><span class="loc-sub">Study for the exam</span></span>' "Study David House">><</link>>
<<elseif $quests.studyDavid and $office.studyVisit2Ready and not $office.studyVisit2Done>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">David house</span><span class="loc-sub">Truth or dare again</span></span>' "Study David House">><</link>>
<</if>>
<<if $quests.studyChristine and not $office.studyVisitDone>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Christine house</span><span class="loc-sub">Study for the exam</span></span>' "Study Christine House">><</link>>
<<elseif $quests.studyChristine and $office.studyVisit2Ready and not $office.studyVisit2Done>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Christine house</span><span class="loc-sub">Truth or dare again</span></span>' "Study Christine House">><</link>>
<<elseif setup.christineSundayDinnerReady() and $world.time is "Evening" and not $today.eveningDone>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Christine house</span><span class="loc-sub">Sunday dinner</span></span>' "Christine Sunday Dinner">><</link>>
<<elseif setup.christineSundayDinnerReady()>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Christine house</span><span class="loc-sub">Dinner tonight</span></span>' "Christine Sunday Dinner">><</link>>
<</if>>
<<if setup.christineClubNightReady() and $world.time is "Evening">>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Club</span><span class="loc-sub">Christine and Jerry</span></span>' "Club Night">><</link>>
<</if>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Explore</span><span class="loc-sub">Wander the town</span></span>' "Town Explore">><</link>>
<<link '<span class="loc-card"><span class="loc-pin"></span><span class="loc-name">Home</span><span class="loc-sub">Head back</span></span>' "House Map">><</link>>
</div>
<</if>><div class="oq-eyebrow">An interactive life story</div>
<h1 class="oq-title-heading">Office Queen Remake</h1>
<p class="oq-title-version">Version <<= setup.GAME_VERSION>></p>
<p class="oq-title-deck">A new city. A new chapter. Your choices.</p>
<img class="title-intro-img" src="Images/banner.png" alt="Office Queen">
<div class="about-game">
<span class="about-game-label">About the game</span>
<p>Office Queen (Remake) is an open-world adult visual novel following Daisy, a 29-year-old software engineer who moves to a new town after her husband James's job transfer. Between office politics, a marriage worth protecting, and desires she's never let herself explore, the choices you make shape which of several very different paths her story takes.</p>
</div>
<p class="disclaimer">
<strong>Disclaimer:</strong> all characters depicted in this game are 18 years or older. This game contains explicit content and is intended for mature audiences only. By continuing, you confirm that you are of legal age in your jurisdiction to access adult content.
</p>
<div class="oq-title-actions">
[[Yes, I am over 18|Origin Story]]
[[No, I am not|Title Bye]]
</div>
<div class="dev-note">
<span class="dev-note-label">A note from the developer</span>
<p>This is a remake of Office Queen, and it's still an early build — so please expect a few bugs or rough edges along the way. This is my first game and English is not my native language, so bear with me.</p>
<p>Found a bug, broken link, or something that doesn't make sense? Report it on <a class="text-link" href="https://discord.gg/p7enmQMUuH" target="_blank" rel="noopener">Discord</a> or <a class="text-link" href="https://f95zone.to/threads/office-queen-v0-2-lady-developer.172969/" target="_blank" rel="noopener">F95zone</a> — both are also where I post progress updates.</p>
<p>Want to see more content and support development? Check out my <a class="text-link" href="https://www.patreon.com/LadyDeveloper" target="_blank" rel="noopener">Patreon</a>.</p>
</div><img src="Images/sorry.gif" alt="">
<p>Come back when you're ready.</p>
[[Title|Title Screen]]<p>This is the story of 29-year-old Daisy.</p>
<img src="Images/Daisy/pp.jpg" alt="Daisy">
<p>In college, Daisy met the love of her life, James. They've been together for five years, and married last year.</p>
[[Continue|Present World]]<p>This is the story of 29-year-old Daisy.</p>
<img src="Images/Daisy/pp.jpg" alt="Daisy">
<p>Daisy works as a software engineer at <strong>Banana</strong>, a phone manufacturer. Before this job she held a similar role at another product company — she left when her husband relocated to this town.</p>
<p>Meet James, Daisy's husband.</p>
<img src="Images/James/pp.jpeg" alt="James">
<p>Their relationship is in a good place. Tomorrow is her first day at the office — and her new chapter is in your hands.</p>
[[Continue|Basic Instructions]]<p>Before we start: the choices you make for Daisy raise or lower her traits, and those traits shape which path her story leans toward over time.</p>
<img src="Images/Daisy/pp.jpg" alt="Daisy">
<p>Watch the sidebar for five numbers, beyond Money:</p>
<ul>
<li><span style="color:#9a2b3c">Corruption</span> — how far Daisy drifts from who she was.</li>
<li><span style="color:#c97b8a">Love · James</span> — the strength of her marriage.</li>
<li><span style="color:#7a9db8">James' Openness</span> — how ready James is for non-monogamy, together rather than behind his back.</li>
<li><span style="color:#b8975a">Awareness</span> — how much James suspects or knows.</li>
<li><span style="color:#7f9e7a">Acceptance</span> — how James reacts once he's aware.</li>
</ul>
<p>These five combine to determine which path Daisy's story ultimately takes — there's more than one way this ends, and no single stat decides it alone.</p>
<p>Unlike the original linear day list, this remake uses <strong>open hubs</strong>. Once you're home or in town, explore rooms and places in any order. Some options stay locked until you've done something else (shower before dressing, park before cafe), but nothing forces a single fixed path through the day.</p>
<p>Check the <strong>Phone → Notes</strong> app in the sidebar if you're unsure what to do next.</p>
<p>It's in your hands which version of Daisy's story unfolds.</p>
[[Begin Day 1|Day 1 Morning]]